簡體   English   中英

HttpServletResponse 到 javax.ws.rs.core.Response

[英]HttpServletResponse to javax.ws.rs.core.Response

我有一個 Rest Get api:

@GET
@Path("myEndpoint")
public Response getSomething(@Context HttpServletResponse response) {
  // do something with httpServletResponse

}

如何將更新后的HttpServletResponse作為javax.ws.rs.core.Response返回?

您沒有,您已經建立了一個Response並返回該Response

return Response.ok(entityYouWantToReturn).build();

例:

@GET
@Path("myEndpoint")
public Response getSomething(@Context HttpServletResponse response) {
    return Response.ok("it worked!").build();
}

這將對it worked!身體產生200 OK響應it worked! 您可以使用@Produces@Consumes來使您的API接受和/或返回不同的數據類型(application / json等)。

您可以通過在類中添加@Context來更新HttpServletRequest

@Context
private HttpServletRequest request;

並檢查方法

 // do something with httpServletResponse
 checkRequest(request);

擴展@BlackSlash答案,更好的語法是:

Response.status(Response.Status.OK).entity(any object here).build();
Or another example:
Response.status(Response.Status.BAD_REQUEST).entity("Error message...").build();

只要記住正確設置媒體類型即可,例如:

@Produces(MediaType.APPLICATION_JSON)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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