パッケージ jakarta.ws.rs

アノテーション型 BeanParam


  • @TargetSE({PARAMETERSE,METHODSE,FIELDSE})
    @RetentionSE(RUNTIMESE)
    @DocumentedSE
    public @interface BeanParam
    カスタム JAX-RS「パラメーターアグリゲーター」値オブジェクトをリソースクラスフィールド、プロパティ、リソースメソッドパラメーターに挿入するために使用できるアノテーション。

    JAX-RS ランタイムは、オブジェクトをインスタンス化し、@XxxParam アノテーション(@PathParam@FormParam...)または @Context アノテーションのいずれかでアノテーションが付けられたすべてのフィールドとプロパティを注入します。POJO クラスの場合、リクエストスコープのルートリソースクラスのインスタンス化とインジェクションの場合と同じインスタンス化とインジェクションのルールが適用されます。

    例:
     public class MyBean {
       @FormParam("myData")
       private String data;
    
       @HeaderParam("myHeader")
       private String header;
    
       @PathParam("id")
       public void setResourceId(String id) {...}
    
       ...
     }
    
     @Path("myresources")
     public class MyResources {
       @POST
       @Path("{id}")
       public void post(@BeanParam MyBean myBean) {...}
    
       ...
     }
     

    インジェクションはオブジェクトの作成時に発生するため、リソースクラスフィールドおよび Bean プロパティでのこのアノテーションの使用は、デフォルトのリクエストごとのリソースクラスライフサイクルでのみサポートされます。他のライフサイクルを使用するリソースクラスは、リソースメソッドパラメーターでのみこのアノテーションを使用する必要があります。

    導入:
    2.0
    作成者:
    Marek Potociar