我使用spring framework 4.0 jar编写rest web服务。 所有的来电和发布工作都很好。
我想知道如何实现异步工作的api。 客户端应该发布到此URL并等待响应;像服务器和客户端之间的回调机制。获取数据的服务器发布对此URL的响应。
提前致谢
答案 0 :(得分:1)
Spring 4.0框架有一个简单的解决方案。 更改了DeferredResult方法的Return类型。 创建DeferredResult的实例,并在每次为此实例分配值时分配,它将返回对调用请求的响应。
@RequestMapping(method=RequestMethod.GET)
public DeferredResult<String> getNewMessage(HttpServletRequest request, HttpServletResponse response)
{
DeferredResult<String> deferredResult = new DeferredResult<String>();
processRequest(deferredResult);
return deferredResult;
}
void processRequest( DeferredResult<String> result)
{
result.setResult("hello world");
}