HttpServletResponse для javax.ws.rs.core.Response - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть отдых Получить API:

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

}

Как вернуть обновленный HttpServletResponse как javax.ws.rs.core.Response?

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

Вы можете обновить HttpServletRequest, добавив его с @Context в классе

@Context
private HttpServletRequest request;

И отметьте это методом

 // do something with httpServletResponse
 checkRequest(request);
0 голосов
/ 13 февраля 2019

Если немного расширить ответ @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)
0 голосов
/ 13 февраля 2019

Вы не построили Response и вернули его:

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

Пример:

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

Это приведет к ответу 200 OK стело it worked!.Вы можете использовать @Produces и @Consumes, чтобы ваш API принимал и / или возвращал разные типы данных (application / json и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...