我正在运行一个 Web 服务,客户端移动应用程序将使用它。其中一项服务是返回一个 JSON 对象数组(超过 1000 个对象),每个对象都相当大。服务器端的整个计算需要一些时间,这不是一个好的用户体验。所以我希望以块的形式发送数据,比如每个块 10 个对象,这样这些数据就会占据屏幕,当他滚动时,或者当数据准备好时,屏幕会充满从收到的最新块中新获取的数据.
我使用 Jersey 框架并发送一个 JavaResponse
对象作为返回对象。在这种情况下是否可以实现分块传输?代码是这样的。
@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();
}