0

TomcatでJersey Rest Servicesを実行しています。残りの呼び出しに対して Response オブジェクトを返していますが、ペイロードのエンティティは、定義したクラスのオブジェクトのリストです。このリストの応答ヘッダーに content-length を設定するにはどうすればよいですか

    @Path("/somePath")
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Response myRestAPI(@CookieParam(value = "value") String cookieValue) {
        /*..
        * some business logic here
        */
        List<MyObject> myObjects = getMyObjectList();
        return Response.ok(myObjects).cookie(createCookie(value)).build();
    }

Response オブジェクトの content-length ヘッダーを次のように設定するつもりです。

return Response.ok(myObjects).header("content-length", length).cookie(createCookie(value)).build();

リストの長さを調べるにはどうすればよいですか? 前もって感謝します

4

1 に答える 1

0

Content-Length ヘッダーが自動的に含まれる必要があると思います。私の場合、RestEasy (Jersey ではない) を使用しています。

curl や Firebug などを使用して、ヘッダーが含まれていないことを確認できますか?

最後に、100% 確実に言うと、Content-Length は HTTP コンテンツ (本文、こちらを参照) の長さであり、List.size() によって返されるリストのサイズではありません。

于 2013-09-10T09:23:54.007 に答える