0

我在 tomcat 上运行 Jersey 休息服务。我正在为休息调用返回一个响应对象,但有效负载的实体是我定义的类的对象列表。如何在此列表的响应标头中设置内容长度

    @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 对象中的内容长度标头设置为

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 回答