POST请求返回409以及对象

时间:2017-01-31 16:04:57

标签: rest api

我正在构建(修改)REST API POST端点。当客户端向我的终端发送一个post请求并且它检测到重复时,服务器应该返回409而不是201.我得到这个部分。

我的问题是,在上述情况下,服务器是否也应该发送现有对象以及409或者只是等待客户端发送另一个GET请求来获取现有对象(假设客户端可以处理这个)?

如果是后者,那么客户端如何知道请求哪个对象,因为它没有从以前的POST请求中获取ID或GUID?

我想知道这样做的标准或首选方式是什么。

提前致谢。

1 个答案:

答案 0 :(得分:1)

引用RFC-7231 on HTTP 409

  

服务器      应该生成一个包含足够用户信息的有效负载      认识到冲突的根源。

所以我认为返回现有对象是一个很好的解决方案,尽管你应该反思安全隐患。

备选方案包括返回存在冲突的字段的名称/路径,包含或不包含相关值。