arg*_*per 6 rest api-design http
考虑一个ReST API,它提供了一个数据库接口.
服务器是否应该使用HTTP 400 Bad Requeston PUT或PATCHrequest尝试为数据库中不存在的列指定新值?服务器应该默默忽略错误吗?服务器应该做一些我在这里没有提到的其他内容吗?
如果客户端可以在没有额外值的情况下重新提交,您应该使用规范中的 409. 进行响应:
10.4.10 409 冲突
由于与资源的当前状态冲突,请求无法完成。仅在预期用户能够解决冲突并重新提交请求的情况下才允许使用此代码。响应正文应该包含足够的信息,以便用户识别冲突的根源。理想情况下,响应实体将包含足够的信息供用户或用户代理解决问题;然而,这可能是不可能的,也不是必需的。
在响应 PUT 请求时最有可能发生冲突。例如,如果正在使用版本控制,并且正在 PUT 的实体包含对资源的更改,这些更改与早期(第三方)请求所做的更改相冲突,则服务器可能会使用 409 响应来指示它无法完成请求。在这种情况下,响应实体可能以响应内容类型定义的格式包含两个版本之间的差异列表。
| 归档时间: |
|
| 查看次数: |
1039 次 |
| 最近记录: |