首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Jersey的RESTful服务的进度报告

基于Jersey的RESTful服务的进度报告
EN

Stack Overflow用户
提问于 2014-12-23 05:25:55
回答 2查看 1.2K关注 0票数 1

我有一个使用泽西(Java)开发的RESTful服务,它为用户做繁重的工作,包括单个完整操作的多个文件传输部分。我想向使用此服务的客户端(用户)提供某种类型的进度通知,以指示正在进行的操作或操作的完成百分比。通知的准确性不是问题。考虑到这是一个RESTful服务,有没有想过如何实现这一点?任何现有的样本都可能会有所帮助。

更新/澄清:此通知类似于主操作仍在进行时的进度/状态通知,因为在某些情况下,整个操作可能需要超过5分钟,我希望确保向客户端更新服务端正在发生的事情,以及为什么需要这么长时间才能完成请求。

例如。请求...状态...状态....状态....最终响应。

我假设这不会发生在相同的请求/响应管道上,这可能涉及在客户端和服务之间创建另一个通信管道。

EN

回答 2

Stack Overflow用户

发布于 2015-03-02 20:55:40

当我询问similar question时,系统建议我使用HTTP 202 Accepted进行响应,并提供新创建资源的地址-操作的状态:

代码语言:javascript
复制
HTTP 202 Accepted
Location: /jobs/statuses/<status_id>
票数 1
EN

Stack Overflow用户

发布于 2014-12-23 05:44:07

您可以返回一个包含所有信息的json字符串。生成用于监控的信息的方式由您决定。

下面是一个使用json的控制器示例:

代码语言:javascript
复制
@RequestMapping(value = "/getblabla", method = RequestMethod.POST)
public @ResponseBody String getblabla(@RequestParam("json") String json,
    HttpServletRequest request) {

    // Do something

    return resJson;
}

然后你可以使用像Gson这样的库,它有两个主要的方法。

下面是如何将json映射到对象:

代码语言:javascript
复制
 MyDto obj = gson.fromJson(json, MyDto.class);

下面是如何将对象映射到Json:

代码语言:javascript
复制
String json = gson.toJson(obj);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27610667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档