我有一个post api呼叫,该呼叫当前在我的预订系统中创建一个约会。
如果api调用发送了约会请求,并且api可以成功创建一个约会,则api返回201创建的状态码。
当前,如果未创建约会请求(由于各种原因(例如时间不再可用或房间正在使用)),则api返回400错误的请求状态代码。
“ 400错误的请求响应状态代码指示服务器由于某些原因被视为客户端错误而无法或将不会处理请求”
发送的数据不是无效的语法,并且可能会重新发送并成功。
是否存在与此资源创建失败相关的状态码。422无法处理的实体在这种情况下会是有效的响应吗?
409可以适合此用例(和我的个人喜好):
“由于与目标资源的当前状态存在冲突,因此无法完成请求。此代码用于用户可能能够解决冲突并重新提交请求的情况。”
通常用于PUT,但可以在这种情况下使用。例如,他们可以更改请求中的建议时间。或者,如果房间可用,他们可以稍后重试。
422也可以用来指示字段级错误。
无论哪种方式,重要的是要在其上附带指示问题的良好错误消息。从rfc7231:
服务器应该发送一个包含错误情况的解释的表示,以及它是暂时还是永久的情况。这些状态代码适用于任何请求方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句