@TargetSE(valueSE={PARAMETERSE,METHODSE,FIELDSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface BeanParam
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 プロパティでのこのアノテーションの使用は、デフォルトのリクエストごとのリソースクラスライフサイクルでのみサポートされます。他のライフサイクルを使用するリソースクラスは、リソースメソッドパラメーターでのみこのアノテーションを使用する必要があります。
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.