我正在构建(修改)REST API POST端点。当客户端向我的终端发送一个post请求并且它检测到重复时,服务器应该返回409而不是201.我得到这个部分。
我的问题是,在上述情况下,服务器是否也应该发送现有对象以及409或者只是等待客户端发送另一个GET请求来获取现有对象(假设客户端可以处理这个)?
如果是后者,那么客户端如何知道请求哪个对象,因为它没有从以前的POST请求中获取ID或GUID?
我想知道这样做的标准或首选方式是什么。
提前致谢。
答案 0 :(得分:1)
服务器 应该生成一个包含足够用户信息的有效负载 认识到冲突的根源。
所以我认为返回现有对象是一个很好的解决方案,尽管你应该反思安全隐患。
备选方案包括返回存在冲突的字段的名称/路径,包含或不包含相关值。