Rest 使用OData创建异步资源

Rest 使用OData创建异步资源,rest,odata,Rest,Odata,在RESTAPI中,如果我有一个创建可能需要相当长时间的资源,我可以返回一个状态代码为202的临时资源。然后,客户端可以轮询这个临时资源,直到实际资源被创建,并在创建完成后重定向到它(状态代码为303)。如中所述 在OData中是否有任何标准化的方法来创建此类资源?异步请求(简要地)在中提到。这本书的细节可能值得一读,但简而言之: 客户端发出一个包含preference:respond async头的请求。然后,服务器可以按照您的描述,使用http202响应进行响应。此响应包括一个指向“状态监视

在RESTAPI中,如果我有一个创建可能需要相当长时间的资源,我可以返回一个状态代码为202的临时资源。然后,客户端可以轮询这个临时资源,直到实际资源被创建,并在创建完成后重定向到它(状态代码为303)。如中所述

在OData中是否有任何标准化的方法来创建此类资源?

异步请求(简要地)在中提到。这本书的细节可能值得一读,但简而言之:

客户端发出一个包含
preference:respond async
头的请求。然后,服务器可以按照您的描述,使用
http202
响应进行响应。此响应包括一个指向“状态监视器资源”的
位置
标题

当客户端向状态监视器资源发送请求时,有3个主要响应:

  • HTTP 202
    :操作尚未完成
  • HTTP 200
    :操作已完成。此响应还必须包括保存操作状态代码的
    AsyncResult
    标题(例如,200表示成功,5xx表示错误等)。此响应的主体包含操作的结果
  • HTTP 404
    • 该操作不存在
    • 手术被取消了
    • 该操作可能已经存在,但客户端在请求状态之前等待的时间太长(也可能是HTTP 410(已消失)
  • ) 我不知道有哪个框架实现了这种行为,所以您可能需要自己编写程序