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