我有一个运行的Web服务,将由客户端移动应用程序使用。其中一项服务是返回一组JSON对象(超过1000个对象),每个对象都有相当大的尺寸。服务器端的整个计算需要一些时间,这不是一个好的用户体验。所以我希望以块的形式发送数据,比如说每个块有10个对象,这样这个数据就占据了屏幕,当他滚动时,或者当数据准备就绪时,屏幕上充满了新收到的来自最新块的数据
我使用Jersey框架并发送Java Response
对象作为返回对象。在这种情况下是否有可能实现分块传输?代码是这样的。
@Path("/doSomething")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response doSomething() {
List<Object> myObj = getMyObj();
/* getMyObj returns a list of Objects, each object of considerable size
* the whole computation of getMyObj takes some time
*/
return Response.ok(myObj).build();
}