有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java(@Context HttpServletResponse)在resteasy中不起作用

使用resteasy框架的Web应用程序

@Path("/do3")
@GET
public void response(@Context HttpServletResponse response) throws IOException{ 
    response.setStatus(202);

}

为什么get/do3返回204而不是202?提前谢谢

PS:(1)我切换到@post方法。它也无法通过get获得预期的代码:202。 (2) 答复。addHeader(“键”、“值”);可以正常工作


共 (1) 个答案

  1. # 1 楼答案

    RESTEasy正在尽其所能解释您的方法-您没有指定返回类型,因此它会将204(无内容)返回给客户端。voidGET方法实际上没有多大意义,应该避免使用,或者转换成另一个HTTP动词(如POST)

    关于主题,这不是设置JAX-RS调用响应状态的正确方法。您应该改为使用ResponseBuilder

    Response.status(202).build();
    

    当然,您可以将注入的HttpServletResponse用于任何其他事情,只要它在调用上下文中有意义:

    response.setHeader("Location", "http://www.example.com/myresource/5");