Отвечает ли Response.header аннотации @Produces? - PullRequest
0 голосов
/ 24 апреля 2018

Я использую Джерси 1.8 и у меня ситуация, когда аннотация @Produces отличается от Response.header()

@GET
@Produces(MediaType.TEXT_HTML)
public Response test(){
    return Response.status(200).header("Content-Type", "application/json;charset=utf-8")
   .entity("test response");
}

Будет ли тип содержимого ответа html или json в этом случае?

1 Ответ

0 голосов
/ 24 апреля 2018

Я сделал небольшую программу Jax-RS для проверки, и похоже, что заголовок, установленный в объекте Response, переопределяет аннотацию @Produces.

Вы можете проверить это с помощью утилиты командной строки curl:

$ curl -s -i  http://localhost:8080/myapp/myresource/hello
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 21

Hello World with JSON

Мой WS похож на ваш WS:

@GET
@Path("/hello")
@Produces(MediaType.TEXT_HTML)
public Response helloWorld() {
    return Response.status(200).header("Content-Type", "application/json;charset=utf-8")
            .entity("Hello World with JSON").build();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...