哪个资源响应代码最多REST API中的限制?

时间:2018-04-02 07:56:26

标签: rest http post httpresponse http-response-codes

我正在设计一个REST API,用于向类注册注册。在我的终点中,我可以localhost/maindir注册:

POST

这会创建一个新的注册。但是,在这种情况下,只能有固定数量的注册,比方说5。

当用户尝试添加第6个注册时,我应该返回哪个HTTP响应代码?

2 个答案:

答案 0 :(得分:1)

虽然建议某些特定的HTTP代码可能是基于意见的答案,但您应该记住一件事 - 这应该是4xx Client error

  

4xx客户端错误:此类状态代码适用于错误似乎是由客户端引起的情况。

在现有错误中,以下内容最适合您:

  • 409 Conflict:表示由于请求中的冲突而无法处理请求,例如多个同时更新之间的编辑冲突。

我认为原因是下一个可能的情况:让我们假设您将5设置为注册限制,4已经存在于系统中,服务器同时接收2个请求以创建新注册。在这种情况下,只有一个请求(服务器的第一个请求)正常。

答案 1 :(得分:1)

好问题。不知道为什么它会被投票。

我建议400.如果您无法找到4xx错误的特定和适当的状态代码,那么您应该使用它。

  • 409:它不合适,因为它通常是可以重复的。但肯定会在你的情况下重试会解决问题。
  • 429:它也是可以重复的。

进行了更多研究(众所周知的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