Я сделал небольшую программу 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();
}