Dependency injection RESTeasy-如何使用@Context注释设置响应字段

Dependency injection RESTeasy-如何使用@Context注释设置响应字段,dependency-injection,resteasy,Dependency Injection,Resteasy,使用RESTeasy 3.0.12,代码 @Context private org.jboss.resteasy.spi.HttpResponse response; 不起作用。响应总是空的 如何配置RESTeasy以通过@Context启用注入 -- 代码非常简单: 如果: @Path(“api/v1/admin”) @生成(“应用程序/json”) @使用(“应用程序/json”) 公共接口管理服务 { @放 @路径(“资源/{id}”) ServiceResponse updateRes

使用RESTeasy 3.0.12,代码

@Context
private org.jboss.resteasy.spi.HttpResponse response;
不起作用。响应总是空的

如何配置RESTeasy以通过@Context启用注入

-- 代码非常简单: 如果:

@Path(“api/v1/admin”)
@生成(“应用程序/json”)
@使用(“应用程序/json”)
公共接口管理服务
{
@放
@路径(“资源/{id}”)
ServiceResponse updateResource(@PathParam(“id”)长。。。。
impl:

公共类AdminServiceImpl实现AdminService
{
@上下文

私有HttpServletResponse HttpServletResponse;//您不能注入
org.jboss.resteasy.spi.HttpResponse的实例。来自:

@Context注释允许您注入javax.ws.rs.core.HttpHeaders、javax.ws.rs.core.UriInfo、javax.ws.rs.core.Request、javax.servlet.HttpServletRequest、javax.servlet.HttpServletResponse、javax.servlet.ServletConfig、javax.servlet.ServletContext和javax.ws.rs.core.SecurityContext对象的实例


对于处理响应,您通常从ResourceClass方法返回
javax.ws.rs.core.response
,或者在
ContainerRequestFilter
中处理
containerResponseSecontext
,或者注入
javax.servlet.HttpServletResponse
,我同意您的意见,但我们有一个给定的设计gn在这里阻止使用javax.ws.rs.core.Response。我还尝试注入javax.servlet.HttpServletResponse,但这也是空的。还尝试使用WEB-INF/beans.xml并添加上下文参数resteasy.scan=true-没有任何帮助。注入
javax.servlet.HttpServletResponse
应该可以工作。请提供e类。我无法用部署在WildFly 8.1.0.Final上的RESTeasy 3.0.6.Final重现这种行为。你能注入任何东西吗?我们的应用程序在没有Spring的jetty容器中运行。我们不注入任何东西。我们的应用程序在没有Spring的jetty容器中运行。我们在类路径上没有CDI。我们使用的是javax.ws.rs.core.Context(JAX-rs)注释,而不是javax.enterprise.context.spi.context(CDI)。是否使用javax.enterprise.context.spi.context注入HttpServletResponse实例?
@Path("api/v1/admin")
@Produces("application/json")
@Consumes("application/json")
public interface AdminService
{

    @PUT
    @Path("resource/{id}")
    ServiceResponse<Resource> updateResource(@PathParam("id") long ....
public class AdminServiceImpl implements AdminService
{

    @Context
    private HttpServletResponse httpServletResponse; // <== instance always null

    @Override
    public ServiceResponse<Resource> updateResource(long resourceId, ...