簡體   English   中英

在Jersey POST處理程序中注入HttpServletRequest

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM