restful api post 创建资源失败 返回什么状态码?

发布于 2022-09-01 17:20:40 字数 31 浏览 8 评论 0

创建资源后台校验格式错误应该返回什么状态码?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

霓裳挽歌倾城醉 2022-09-08 17:20:41

RESTful 怎么设置返回状态码?

单身狗的梦 2022-09-08 17:20:40

看情况。
按照你的描述,下面这几个比较合适。

HTTP 400 - 请求错误:bad_request
HTTP 406 错误 – 无法接受 (Not acceptable)
422 Unprocessable Entity - 请求格式正确

附:对照表

Response ClassHTTP Status CodeSymbol
消息100:continue
101:switching_protocols
102:processing
成功200:ok
201:created
202:accepted
203:non_authoritative_information
204:no_content
205:reset_content
206:partial_content
207:multi_status
208:already_reported
226:im_used
重定向300:multiple_choices
301:moved_permanently
302:found
303:see_other
304:not_modified
305:use_proxy
306:reserved
307:temporary_redirect
308:permanent_redirect
客户端错误400:bad_request
401:unauthorized
402:payment_required
403:forbidden
404:not_found
405:method_not_allowed
406:not_acceptable
407:proxy_authentication_required
408:request_timeout
409:conflict
410:gone
411:length_required
412:precondition_failed
413:request_entity_too_large
414:request_uri_too_long
415:unsupported_media_type
416:requested_range_not_satisfiable
417:expectation_failed
422:unprocessable_entity
423:locked
424:failed_dependency
426:upgrade_required
428:precondition_required
429:too_many_requests
431:request_header_fields_too_large
服务端错误500:internal_server_error
501:not_implemented
502:bad_gateway
503:service_unavailable
504:gateway_timeout
505:http_version_not_supported
506:variant_also_negotiates
507:insufficient_storage
508:loop_detected
510:not_extended
511:network_authentication_required
汹涌人海 2022-09-08 17:20:40

不太理解你的

创建资源后台校验格式错误

是什么意思

如果是由于提交的数据问题,做「业务相关的检查」,返回两类错误:

  • 400 (Bad Request) 如:密码不符合要求,昵称不允许为空,等等;
  • 409 (Conflict) 如:建立新用户时,该用户名/手机号已经存在;
醉酒的小男人 2022-09-08 17:20:40

422 Unprocessable Entity
请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)

http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81

陪你搞怪i 2022-09-08 17:20:40

404 请求资源不存在
409 冲突,但是用户可以自行解决

傻比既视感 2022-09-08 17:20:40

客户端传的参数格式不正确,建议用 400 Bad Request

孤单情人 2022-09-08 17:20:40

楼上的好复杂啊,我的http状态就是202,然后返回的body就是下面的:

{"code":-1,"msg":"创建资源后台校验格式错误","data":""}

当然我这也许不是标准的API返回,只是对于异步的,http的状态码应该作用不是很大吧

滥情哥ㄟ 2022-09-08 17:20:40

不要太执着,利用协议状态码返回对应的错误,调用方太麻烦了,建议全部返回200

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文