在我的回复中,我想将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();
答案 0 :(得分: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();