我希望能够做这样的事情:
@GET
@Path("test")
public Response someMethod(@Context MyCustomContext myCustomContext) {
...
}
我发现了这个旧的堆栈溢出文章,这里描述了执行此操作的不同方法:Using @Context, @Provider and ContextResolver in JAX-RS。我实现了最佳答案(与实现无关),并且可以正常工作,但是它并没有完全满足我的要求。相反,它看起来像这样:
@GET
@Path("test")
public Response someMethod(@Context Providers providers) {
ContextResolver<MyCustomContext> p = providers.getContextResolver(MyCustomContext.class, MediaType.WILDCARD_TYPE);
MyCustomContext myCustomContext = p.getContext(null);
...
}
该职位上还有其他解决方案,但它们取决于实现。我在quarkus文档中注意到,有一个关于自定义上下文的部分可以在这里找到:https://quarkus.io/guides/cdi-reference#synthetic-beans,但这是专门针对扩展的。有人在quarkus项目中有关于如何执行此操作的想法吗?