3

在我的回复中,我想将 JSON 的大小添加到标题中,这是我尝试过但没有奏效的内容(回复为空):

return Response.ok(OBJECT_MAPPER.writeValueAsString(myObject), MediaType.APPLICATION_JSON).header(HttpHeaders.CONTENT_LENGTH), 20).build();

如您所见,我对长度进行了硬编码,但如果我可以使用 API 来完成它会很棒。

解决方案 嗯,字节大小可以返回如下,具体取决于编码。下面的代码会在不实现MessageBodyWriter接口的情况下做到这一点:

String str = OBJECT_MAPPER.writeValueAsString(myObject);
return Response.ok(str , MediaType.APPLICATION_JSON).header(HttpHeaders.CONTENT_LENGTH), str.getBytes("UTF-8").length)).build();
4

1 回答 1

1

实现MessageBodyWriter接口:

String str = OBJECT_MAPPER.writeValueAsString(myObject);
return Response.ok(str , MediaType.APPLICATION_JSON).header(HttpHeaders.CONTENT_LENGTH), str.getBytes("UTF-8").length)).build();
于 2012-08-13T07:52:20.640 回答