[英]@context httpServletRequest request for post method in jersey is null
[英]Injection of HttpServletRequest in Jersey POST handler
考虑这种情况:
我正在像这样的Rest Service中注入HttpServletRequest
@Context
HttpServletRequest request;
并以类似以下方法使用它:
@GET
@Path("/simple")
public Response handleSimple() {
System.out.println(request.getParameter("myname"));
return Response.status(200).entity("hello.....").build();
}
这可以正常工作,但是当我尝试通过POST方法发送它并用@POST注释替换@GET时,我得到了参数值null。
请给我建议我去哪里。
您不需要从请求中获取参数等。 JAX-RS展示。 为您处理。
您必须使用参数注释将参数映射到方法参数。 转换转换等是自动完成的。
在这里,您的方法使用三种不同的方式来映射参数:
// As Pathparameter
@POST
@Path("/simple/{myname}")
public Response handleSimple(@PathParam("myname") String myName) {
System.out.println(myName);
return Response.status(200).entity("hello.....").build();
}
// As query parameter
@POST
@Path("/simple")
public Response handleSimple(@QueryParam("myname") String myName) {
System.out.println(myName);
return Response.status(200).entity("hello.....").build();
}
// As form parameter
@POST
@Path("/simple")
public Response handleSimple(@FormParam("myname") String myName) {
System.out.println(myName);
return Response.status(200).entity("hello.....").build();
}
您可以在以下位置找到来自Jersey的有关JAX-RS注释的文档: https : //jersey.java.net/documentation/latest/jaxrs-resources.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.