我需要创建REST API端点,我不确定哪个HTTP代码作为状态返回。
接下来的要求:
- 我的API应接受URL作为参数
- 对第三方服务进行API调用(使用URL),并获得响应
- 返回响应(从第三方服务获取的内容)
在某些情况下,一切正常。调用外部服务,它返回内容和状态代码200.
但是,有时候没有内容,它会返回404.(重要的是,将来可能有内容可供使用。)
从我的系统来看,这是正常情况。
答案 0 :(得分:1)
404 Not Found
找不到请求的资源,但将来可能会提供。客户的后续请求是允许的。
在REST-API中,请求和响应应仅适用于当前的“调用”。如果内容当前不可用,则应返回404
状态。并且它(404
)是应该返回的确切状态。
但是,如果您想弯曲规则,204
状态代码似乎更合适。我不建议你这样做。
204无内容
服务器成功处理了请求,但未返回任何内容Link。
答案 1 :(得分:1)
创建临时资源,而不是创建实际资源。您可以发出202(已接受)响应代码,而不是返回201(已创建)HTTP响应。这通知客户端服务器已接受并理解该请求,但尚未创建资源。
From: http://restcookbook.com/Resources/asynchroneous-operations/
答案 2 :(得分:0)
除非您的系统将其包装并处理并更改状态,否则您应该返回第三方服务返回的HTTP状态代码。