在我的回复中,我想将 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();