And*_*niy 4 rest http-status-codes content-expiration
假设我们有一家在线商店,并收到更新某些订单的有效请求。
请求本身是有效的,但是假设订单有过期时间,并且已经过期,因此该请求实际上无法处理。
我怀疑这是否是一种验证错误。因为,正如我上面所说,请求本身是有效的;并且请求发送者可能不知道订单已经过期。
在这种情况下,REST API 服务返回的适当 HTTP 状态代码是什么?
警告:由于产品的一般要求,应该是一些4XX错误代码!
UPD:更多信息:这个假定的“订单”仍然存在,甚至已经过期。可以取回它,但不能再操作它。这就是代码404(例如)不合适的原因。
我自己的版本:
我认为对于这种情况,410状态代码是最合适的:
410 响应的主要目的是
通过通知接收者资源
故意不可用以及服务器所有者希望
删除到该资源的远程链接来协助 Web维护任务。这种事件
对于限时促销服务和属于不再与源服务器站点关联的个人的资源来说很常见。这
是没有必要的,以纪念所有永久不可用的资源为
“水涨船高”,或保持大关任何时间长度-这是留给
服务器所有者的自由裁量权。
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html:
请求的资源在服务器上不再可用,并且不知道转发地址。预计这种情况将被视为永久性的。具有链接编辑功能的客户端应该在用户批准后删除对 Request-URI 的引用。如果服务器不知道或无法确定条件是否永久,则应使用状态代码 404(未找到)代替。除非另有说明,否则此响应是可缓存的
| 归档时间: |
|
| 查看次数: |
2078 次 |
| 最近记录: |