[英]@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.