7

我需要实现一个 Java REST Web 服务(我们使用 Jersey 框架),它基本上可以

一个。在返回响应之前阻塞等待某个事件(或轮询事件) b. 提供某种 aysnc 行为以在处理请求时通知客户端。

我正在考虑返回一个 transationID,并有一个 /status 端点,客户端应该轮询该端点以确定请求是否已处理并获得特定结果。

有任何想法吗?

4

2 回答 2

4

Alan,正确的做法是使用 HTTP 的 202 Accepted 返回码,并在响应正文中包含一个链接,该链接指向客户端可以轮询的页面以检查请求的状态。

在 machine2machine 上下文中,您需要为这些响应设计媒体类型(或微格式等),以便机器客户端可以“理解”它们。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.3

也许还为此目的查看几乎标准化的新 HTTP Link 标头。

https://datatracker.ietf.org/doc/html/draft-nottingham-http-link-header-03

于 2010-02-19T20:34:24.800 回答
3

您可能会觉得这很有趣:Approach for REST request with long execution time

于 2010-02-19T18:34:42.007 回答