考虑以下简单的 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 注入?