パッケージ jakarta.ws.rs
アノテーションインターフェース NameBinding
フィルターとインターセプタの名前バインディングアノテーションを作成するために使用されるメタアノテーション。アノテーションによる名前バインディングは、サーバー API の一部としてのみサポートされています。名前バインディングでは、 名前バインディングアノテーションは最初に
@NameBinding メタアノテーションを使用して定義されます。
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(value = RetentionPolicy.RUNTIME)
@NameBinding
public @interface Logged { }
次に、定義された名前バインディングアノテーションを使用して、フィルターまたはインターセプタークラスを装飾します(複数のフィルターまたはインターセプターを同じ名前バインディングアノテーションで装飾できます)。
@Logged
public class LoggingFilter
implements ContainerRequestFilter, ContainerResponseFilter {
...
}
最後に、名前バインディングアノテーションが、名前バインド JAX-RS プロバイダーをバインドする必要のあるリソースメソッドに適用されます。
@Path("/")
public class MyResourceClass {
@GET
@Produces("text/plain")
@Path("{name}")
@Logged
public String hello(@PathParam("name") String name) {
return "Hello " + name;
}
}
名前バインディングアノテーションは、カスタム JAX-RS Application サブクラスに添付することもできます。このような場合、アノテーションによってバインドされた名前にバインドされた JAX-RS プロバイダーは、JAX-RS アプリケーションのすべての resource and sub-resource methods に適用されます。
@Logged
@ApplicationPath("myApp")
public class MyApplication extends jakarta.ws.rs.core.Application {
...
}
- 導入:
- 2.0
- 作成者:
- Santiago Pericas-Geertsen, Marek Potociar