@TargetSE(valueSE={PARAMETERSE,METHODSE,FIELDSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface BeanParam
ランタイムはオブジェクトをインスタンス化し、@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 © 2019 Eclipse Foundation.
Use is subject to license terms.