如果用户的post请求是正确的,但是数据库中没有更新,那么应该向用户发送什么HTTP状态代码,因为用户为数据库中已经存在的每个字段发送相同的值?
发布于 2015-10-12 11:30:22
在这种情况下,200状态绝对是非常合适的。
您所描述的通常是基于HTTP的API之上的应用程序将处理/添加为上下文的东西。
然而,在这种情况下,一个不太为人所知的状态代码是204.
“204 (无内容)状态代码表示服务器已成功完成请求,响应有效负载正文中没有要返回的其他内容”
换句话说,根据应用程序的设置,您可以使用204 (没有响应体)来表示PUT/update请求本身是成功的。但什么都没修改。
有关204:https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p2-semantics-19#section-7.2.5的进一步阅读,请参阅此处
发布于 2015-10-20 07:33:34
在这种情况下,您将使用204。
服务器已经完成了请求,但不需要返回实体-主体,并且可能希望返回更新的metainformation。响应可以包括新的或更新的实体头的形式,如果存在的话,应该与请求的变体相关联。
如果客户端是用户代理,则不应将其文档视图更改为导致发送请求的视图。此响应的主要目的是允许进行操作的输入,而不会导致对用户代理的活动文档视图进行更改,尽管应该将任何新的或更新的方法应用于当前在用户代理的活动视图中的文档。
204响应不能包括消息体,因此始终由标题字段之后的第一个空行终止。
https://stackoverflow.com/questions/33079841
复制相似问题