JAX-RS
JAX-RSは、リソースクラス(POJOのJavaクラス)をWebリソースにマッピングするのを助けるアノテーションを提供する。アノテーションの例を以下に示す。
@Path : リソースクラスやメソッドに相対的なパスを指定する。
@GET, @PUT, @POST, @DELETE, @HEAD : HTTPメソッドの種別を指定する。
@Produces : レスポンスのContent-Typeを指定する。
@Consumes : リクエストで受け入れ可能なContent-Typeを指定する。
加えて、リクエストからメソッドの引数に情報を読み込むためのアノテーションも提供している。これらの@*Paramアノテーションは必要な値を取得するためにキーを要求する。
@PathParam : パスとメソッド引数を紐付ける。
@QueryParam : HTTPのクエリとメソッド引数を紐付ける。
@MatrixParam : HTTPのマトリックスパラメータとメソッド引数を紐付ける。
@HeaderParam : HTTPヘッダーとメソッド引数を紐付ける。
@CookieParam : HTTP cookieとメソッド引数を紐付ける。
@FormParam : フォームの値とメソッド引数を紐付ける。
@DefaultValue : 上記のキーが存在しない場合のデフォルト値を指定する。
@Context : 全体のコンテキストを返す(例 @Context HttpServletRequest request)。