次の単純な RESTEasy (JAX-RS) サービスについて考えてみましょう。
@Path("/example-service")
public interface ExampleService {
@Path("/ping")
@GET
public String ping(String message);
}
クラスではなくインターフェイスで JAXRS の仕様を定義したいので、素敵なクライアント フレームワークを使用できます。
ExampleService client = ProxyFactory.create(ExampleService.class, "http://localhost:8080");
RESTEasy のコンテキスト インジェクション (@Context) を導入したい場合を除いて、すべてがうまく機能します。単純に、次のことを検討してください。
@Path("/example-service")
public interface ExampleService {
@Path("/ping")
@GET
public String ping(@Context HttpServletRequest request, String message);
}
この @Context インジェクションは直交しており、インターフェイスに属していないため、これは明らかに意味がありません (さらに、クライアントの観点からこのインターフェイスの醜さを乗り越えて null を渡すことができたとしても、現在、それを妨げるバグがあります)これは機能していません: RESTEASY-311 )
インターフェイス JAXRS マークアップを使用して (したがって、優れた RESTEasy クライアント フレームワークを活用して)、直交する @Context インジェクションに同時にアクセスするにはどうすればよいですか?