2016-03-31 23 views
0

Java'da web hizmetleri oluşturmak için yeni biriyim, bu yüzden soru. Bir nesne varJavaEE'de bir Web Hizmeti Oluşturma

,

public class Course { 

    private int _id; 
    private String _name; 
    private Person _person; 
} 

Zaten ayrıştırılır ve yerel bir dizi listesinde kayıtlı olduğunuz bir dosyada saklanır nesne hakkında veri var.

DataService nesnem bunu yapar.

public DataService(){ 

     _personList = new ArrayList<>(); 
     _courseList = new ArrayList<>(); 

     //logic to parse data and read into a QueryHandler object. 

     _handler = new QueryHandler(_personList, _courseList); 

    } 

Bu veri hizmeti şimdi tüm kursların listesini gösteren bir GET yöntemine sahiptir.

@GET 
    @Produces("application/JSON") 
    public ArrayList<Course> getAllCourses(){ 
     return _handler.getAllCourses(); 

    } 

Sorum arayan JSON biçiminde verileri döndürür example.com/getCourseById/21 (zaten oluşturulmuş yönteme) gibi example.com/getAllCourses falan gibi bir bağlantı alabilirsiniz böylece, bir bitiş noktası olarak bu yöntemi açığa mı nasıl?

cevap

1

Sen sınıfına @Path("/course") ekleyip

@GET 
@Path("/getAllCourses") 
@Produces("application/JSON") 
public ArrayList<Course> getAllCourses(){ 
    return _handler.getAllCourses(); 

} 

için yöntemini değiştirmek zorunda Ve belirli bir kimliği almak istiyorsanız yolu olacaktır

@GET 
@Path("getCourseById/{id}") 
@Produces("application/JSON") 
@Consumes("application/JSON") 
public Course getCourseById(@PathParam("id") int id){ 
    return _handler.getCourseById(id); 

} 

yazacağım host.com/course/getAllCourses veya host.com/course/getCourseByid/1 örneğin

İşte bir doküman hakkında JAX-RS

+0

Sadece bir şüphem, uygulamam GlassFish'i sunucu olarak kullanıyor, bu API'lara bir tarayıcıda nasıl erişebilirim? – Zeus

+0

Maven kullanıyor musunuz? –

+0

Nope Gradle yapı sistemini kullanıyorum. – Zeus