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

implementing MessageBodyWriter interface:

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 に答える