我正在设计一个REST API,用于向类注册注册。在我的终点中,我可以localhost/maindir
注册:
POST
这会创建一个新的注册。但是,在这种情况下,只能有固定数量的注册,比方说5。
当用户尝试添加第6个注册时,我应该返回哪个HTTP响应代码?
答案 0 :(得分:1)
虽然建议某些特定的HTTP代码可能是基于意见的答案,但您应该记住一件事 - 这应该是4xx Client error:
4xx客户端错误:此类状态代码适用于错误似乎是由客户端引起的情况。
在现有错误中,以下内容最适合您:
我认为原因是下一个可能的情况:让我们假设您将5设置为注册限制,4已经存在于系统中,服务器同时接收2个请求以创建新注册。在这种情况下,只有一个请求(服务器的第一个请求)正常。
答案 1 :(得分:1)
好问题。不知道为什么它会被投票。
我建议400.如果您无法找到4xx错误的特定和适当的状态代码,那么您应该使用它。
进行了更多研究(众所周知的api提供商使用的一些做法)
LimitExceededException:如果请求导致超出以下限制之一,文件库限制,标记限制或预配置容量限制,则返回。 400错误请求
https://docs.aws.amazon.com/amazonglacier/latest/dev/api-error-responses.html
除非更具体的错误状态适合于给定的请求,否则服务应该返回" 400 Bad Request"和错误有效负载符合Microsoft REST API准则中提供的错误响应指南。
https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#1521-error-response