2017-08-17 8 views
0

PathParamを持つエンドポイントを作成して、挿入するオブジェクトのコンストラクタを自動的に呼び出します。このコンストラクタにはString引数のコンストラクタがあります。コードでそれをスペルアウトするには:JAX-RS @PathParamとPOJOコンストラクタとの注釈付きのマッピング

をここで、私は文字列が自動的にAPIVersionコンストラクタへの呼び出しで使用するリソース

@GET 
@Path("/{apiVersion}" + "/item") 
public Response version(@PathParam("apiVersion") APIVersion apiVersion) { 
    return Response.ok().build(); 
} 

です。 APIVersionクラス

public APIVersion(String apiVersion) { 
    this.versionString = apiVersion; 
} 

では、注釈へのアクセスのみで行うことは可能ですか?私はResourceConfigへのアクセス権がありません。

+2

これは機能しませんか?そうすべき_。 –

+0

はい、ありがとうございます!私はこれをマスクした別のジャージーエラーがあった。 –

答えて

2

はい、これは可能です。@PathParam以外の注釈がないため、指定した例はそのまま動作するはずです。

一般的にメソッドのパラメータのJava型ができる:

  1. がプリミティブ型で、https://jersey.github.io/documentation/latest/jaxrs-resources.html#d0e2271(強調鉱山)参照

  2. 単一の文字列引数を受け入れるコンストラクタがあります。

  3. 単一 文字列引数(参照、例えば、Integer.valueOf(文字列)と java.util.UUID.fromString(文字列))を受け入れるのvalueOf又はfromStringという静的メソッドを持っています。

  4. は はのための「 文字列から」変換可能なjavax.ws.rs.ext.ParamConverterインスタンスを返すこと javax.ws.rs.ext.ParamConverterProvider JAX-RS拡張SPIの登録実装を持ちますタイプ。または

  5. ここで、Tは上記の2または3を満たすBe List、SetまたはSortedSetです。 結果のコレクションは読み取り専用です。

+0

ありがとうございましたこれらすべての作業!そして、あなたが正しいです、これは私のコードサンプルのように動作しますが、私はこれがうまくいかなかったと私に思わせる異なるジャージーエラーがありました。 –

関連する問題