当外部客户端推送重复数据时,哪个是最好的状态代码或 api 设计?
Which is the best status code or api design when an external client pushes duplicate data?
我们与外部客户端集成,通过 REST API.
将数据推送到我们的系统中
对于与有效负载(数据传输对象)相关的验证问题,我们 return 422 Unprocessable Entity
如果有不准确的地方。
现在,当我们有添加新用户这样的场景,而这个用户存在于数据库中时,我们也认为这是一个验证错误,我们不允许客户端提交用户信息,因为它是已经坚持了。
422
状态代码对于我们想要避免重复记录的此类场景是否有效?
我觉得422绝对适合这种场景。据我所知,没有描述无效负载的状态代码,因为它是重复的。
编辑:
我不知道409,但似乎更合适。
我将在这种情况下使用的状态代码是 409
。 409
用于请求正文有效的情况,否则为有效请求,但服务器的当前状态阻止请求成功。
我写了更多关于 409 here
我们与外部客户端集成,通过 REST API.
将数据推送到我们的系统中对于与有效负载(数据传输对象)相关的验证问题,我们 return 422 Unprocessable Entity
如果有不准确的地方。
现在,当我们有添加新用户这样的场景,而这个用户存在于数据库中时,我们也认为这是一个验证错误,我们不允许客户端提交用户信息,因为它是已经坚持了。
422
状态代码对于我们想要避免重复记录的此类场景是否有效?
我觉得422绝对适合这种场景。据我所知,没有描述无效负载的状态代码,因为它是重复的。
编辑: 我不知道409,但似乎更合适。
我将在这种情况下使用的状态代码是 409
。 409
用于请求正文有效的情况,否则为有效请求,但服务器的当前状态阻止请求成功。
我写了更多关于 409 here