我正在运行一个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();
}
您的情况听起来像是服务器推送。
您可以尝试在您的Jersey服务中使用Atmosphere框架,以实现您的目标。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句