fal*_*con 5 rest http http-status-codes http-headers
我正在实现一个REST API,它涉及在服务器上创建一个对象.对象创建涉及多个步骤,可能需要一段时间.我不希望用户等待它.我只返回202响应,其中包含客户端请求的唯一请求ID,并在服务器上启动一些线程来创建对象.客户应该在将来检查请求是否完成.流程如下:
/my-app/<reqId>/my-app/<reqId>现在,在第三步,这些事情可能会发生:
现在我的API应该/my-app/<reqId>响应上述三种情况的http代码?
我可能会从一开始就有点不同.的Location报头具有一个特定的含义,指向连接到所述请求的实际资源,基本上是"结果"被请求的任何的,而不是资源指示请求本身的状态.这可能是一个很小的差异,但可能会在以后混淆.
另外,规范说的202应该返回内容说明或链接到介绍请求本身的进步"国家"资源.
所以流程可能是:
POST202 Accepted.Location标头指向所请求资源所在的URI(这不是状态),这将404直到处理完成.此外,202可能的内容包括"状态"表示.该Content-Location头有链接到这个"状态"资源.GET是检查进度的状态资源.此资源始终存在,因此始终返回200.Location现在指示的资源存在,否则它将永远不存在.国家资源继续无限期存在.