2016-03-31 22 views
0

JavaでWebサービスを作成するのは初めてのことです。JavaEEでのWebサービスの作成

私は、オブジェクトを持っている

public class Course { 

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

は、私はすでに解析され、ローカル配列リストに保存したファイルに格納されているオブジェクトに関するデータを持っています。

私のDataServiceオブジェクトはこれを行います。

public DataService(){ 

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

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

     _handler = new QueryHandler(_personList, _courseList); 

    } 

このデータサービスには、すべてのコースのリストを表示するGETメソッドがあります。

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

    } 

私の質問は、発信者がJSON形式でデータを返しますexample.com/getCourseById/21(すでに作成法)のようなexample.com/getAllCoursesか何かのようなリンクを得ることができるように、私は、エンドポイントとしてこの方法を公開行う方法ですか?

答えて

1

あなたのクラスに@Path("/course")を追加し、

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

} 

にあなたの方法を変更する必要がありそして、あなたは、特定のIDを取得したい場合は、

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

} 

を書きますパスはhost.com/course/getAllCoursesかになりますhost.com/course/getCourseByid/1たとえば、

ここにはそれについての文書 'JAX-RS

+0

私のアプリケーションはGlassFishをサーバーとして使用していますが、ブラウザ上でこれらのAPIにアクセスするにはどうすればよいですか。 – Zeus

+0

あなたはMavenを使用していますか? –

+0

いいえ私はGradleビルドシステムを使用しています。 – Zeus

関連する問題