Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在返回用户定义的对象时设置内容长度_Java_Rest_Jersey_Content Length - Fatal编程技术网

Java 如何在返回用户定义的对象时设置内容长度

Java 如何在返回用户定义的对象时设置内容长度,java,rest,jersey,content-length,Java,Rest,Jersey,Content Length,我在tomcat上运行Jersey rest服务。我为rest调用返回一个响应对象,但负载的实体是我定义的类的对象列表。如何在此列表的响应标题中设置内容长度 @Path("/somePath") @GET @Produces(MediaType.APPLICATION_JSON) public Response myRestAPI(@CookieParam(value = "value") String cookieValue) { /*..

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

    @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();
    }
我怎样才能找到列表的长度? 提前感谢

我想应该自动包括内容长度标题。在我使用RestEasy(不是Jersey)的情况下,它是

您是否可以确认未包括标题,例如使用curl或Firebug


最后,要100%确定的是:Content Length是HTTP内容的长度(正文,请参见),而不是list.size()返回的列表大小。

我已经选中了它,内容长度没有设置。现在,
Transder Encoding:chunked
已设置,在调查中,我发现它是默认的标题集,要删除它,我需要设置
内容长度
标题。请参阅。。。我找到了。可能是响应太大,因此您必须接受分块传输,或者增加缓冲区的长度。
return Response.ok(myObjects).header("content-length", length).cookie(createCookie(value)).build();