首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有mysql id的PUT的HTTP状态代码。

带有mysql id的PUT的HTTP状态代码。
EN

Stack Overflow用户
提问于 2018-08-21 20:55:12
回答 1查看 615关注 0票数 0

我们有一个PUT端点,它用自动递增的MYSQL id更新行。如果我们在请求正文中指定id,就像更改id值一样,端点不会更改id (这是正确的行为)。但是它也返回200,因为技术上没有验证失败。这个应该还200元吗?还是说是400还是403?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-22 12:27:47

如果我们在请求正文中指定id,就像更改id值一样,端点不会更改id (这是正确的行为)。

如果在有效负载中接收到的id与存储在数据库中的id匹配,并且更新成功,则服务应该返回一个成功状态码,如204200

另一方面,如果在有效负载中接收的id与存储在数据库中的id不匹配,我将理解为客户端错误409似乎是一个合理的选择:它用来表示请求与服务器上资源的当前状态相冲突。有效负载中的id与数据库中的id之间的不匹配是一个冲突。

查看如何在409中定义RFC 7231状态代码。

6.5.8.409冲突 409 (冲突)状态代码指示由于与目标资源的当前状态发生冲突而无法完成请求。此代码用于用户可能解决冲突并重新提交请求的情况。服务器应该生成包含足够信息的有效负载,以便用户识别冲突的来源。..。

答复应包括所有必要的信息,以便客户识别冲突的根源,然后才能重新提交请求。对于报告Web中的问题,我建议您检查RFC 7807

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51956575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档