【发布时间】:2018-08-02 10:23:26
【问题描述】:
有没有办法达到here 所描述的相同结果,而不是取决于球衣,而是纯粹的 jax-rs?我想创建一个像 Jersey 这样的自定义注入提供程序,这样我就可以注入 MyClass,从 HttpServletRequest 中提取自定义数据
@Inject
protected MyClass myClass;
我还发现 this discussion 很有用,它与 java.util.function.Supplier 的工作原理相同,但此代码中仍需要 Jersey:
bindFactory(MyFactoryOrSupplier.class)
.to(MyClass.class)
.in(RequestScoped.class);
编辑:
CDI 也是一个不错的选择,但最好使用纯 jax-rs
【问题讨论】:
-
@Context和@Provider在 jax-rs 规范中定义 -
你能详细说明一下吗?
-
有a hack using
@Path。除此之外,没有纯粹的 JAX-RS 方式。 JAX-RS 没有指定任何注入特性,因为它是 Java EE 的一部分,而 Java EE 已经有 CDI。任何解决方案(没有 CDI)都将依赖于实现。 -
好的,现在我了解情况了。那么,CDI 如何成为可能的解决方案?
标签: java jersey jax-rs cdi supplier