JAX-RS RESTで使用するアノテーション
※間違って消しちゃったので日付が変わって復旧
クラスに付与するアノテーション
- @Path
- リクエストで受け付けるURIを指定する。コンテキストパスからの続き。
- 例)「http://FQDN/ContextPath/hoge/foo/」の場合、「@Path("hoge")」と設定する。
- @Encoded
- @Provider
■例
// フィールド変数 @Context protected Providers _providers;
フィールド変数に付与するアノテーション
- @Context
- 下記のインターフェースの実装クラスをインジェクションしてくれる
- javax.ws.rs.core.Application
- javax.ws.rs.core.UriInfo
- javax.ws.rs.core.Request
- javax.ws.rs.core.HttpHeaders
- javax.ws.rs.core.SecurityContext
- javax.ws.rs.ext.Providers
- 下記のインターフェースの実装クラスをインジェクションしてくれる
メソッドに付与するアノテーション
- @Path
- 使用方法はクラスに付与する場合と同様。ただし、クラスに付与したパスの続きから記述する。
- 例)「http://FQDN/ContextPath/hoge/foo/」の場合、「@Path("foo")」と設定する。
- @GET、@POST、@PUT、@DELETE、@HEAD
- リクエストのHTTPメソッドに対応する。
- @HttpMethod
- HTTPメソッドを直接指定する。GET, POST, PUT, DELETE, HEAD等を指定する。
- 例)「@GET」と「@HttpMethod("GET")」は同じ意味。
- @Consumes
- クライアントから送信されたMIMEメディアタイプを指定する。
- メディアタイプの種類は「http://jackson.codehaus.org/javadoc/jax-rs/1.0/javax/ws/rs/core/MediaType.html」を参照。
- 例)@Consumes("application/json")、@Consumes({"application/json", "application/xml"})
- @Produces
- "text/plain"など、リソースが生成してクライアントに返すことのできるMIMEメディアタイプを指定する。
- @Provider
- MessageBodyReaderやMessageBodyWriterなど、JAX-RSランタイムに関連するものすべてに使用する。
メソッド引数に付与するアノテーション
- @PathParam
- @MatrixParam
- @QueryParam
- @FormParam
- ポストされた(POSTメソッドでリクエストを受けた)フォームデータから値を抽出する。@PathParamと使用方法は同じ。
- @HeaderParam
- HTTPリクエストヘッダから値を抽出する。@PathParamと使用方法は同じ。
- @CookieParam
- クライアントによって設定されたHTTP Cookieから値を抽出する。@PathParamと使用方法は同じ。
- @Context
- @DefaultValue
- @PathParam等を使用してバインドされるリクエスト・メタデータのデフォルト値を定義する。
- 例)method(@DefaultValue("2") @QueryParam("num") int num)