• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETCoreAPI---状态码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

摘录自:https://www.cnblogs.com/cgzl/p/9047626.html

 

状态码是非常重要的,因为只有状态码会告诉API的消费者:

  • 请求是否如预期的成功,或者失败
  • 如果出现了错误,谁该为这个错误负责

列举一下web API会用到的状态码:

200级别,表示成功:

  • 200 - OK
  • 201 - Created,表示资源创建成功了
  • 204 - No content,成功执行,但是不应该返回任何东西

400级别,表示客户端引起的错误:

  • 400 - Bad request,表示API的消费者发送到服务器的请求是错误的
  • 401 - Unauthorized,表示没有权限
  • 403 - Forbidden,表示用户验证成功,但是该用户仍然无法访问该资源
  • 404 - Not found,表示请求的资源不存在
  • 405 - Method not allowed,这就是当我们尝试发送请求给某个资源时,使用的HTTP方法却是不允许的,例如使用POST api/countries, 而该资源只实现了 GET,所以POST不被允许
  • 406 - Not acceptable,这里涉及到了media type,例如API消费者请求的是application/xml格式的media type,而API只支持application/json
  • 409 - Conflict,表示该请求无法完成,因为请求与当前资源的状态有冲突,例如你编辑某个资源数据以后,该资源又被其它人更新了,这时你再PUT你的数据就会出现409错误;有时也用在尝试创建资源时该资源已存在的情况。
  • 415 - Unsupported media type,这个和406正好返回来,比如说我向服务器提交数据的media type是xml的,而服务器只支持json,那么就会返回415
  • 422 - Unprocessable entity,表示请求的格式没问题,但是语义有错误,例如实体验证错误。

500级别,服务器错误:

  • 500 - Internal server error,这表示是服务器发生了错误

 

默认情况下 JsonResult会返回200 OK状态码,可以去修改JsonResult以支持其它的状态码。但是Controller里提供了一些帮助方法返回IActionResult并指定特定的状态码,针对200,就是Ok()方法

针对单个资源,如果没有找到,就需要返回404 Not Found,这时就可以使用Controller的帮助方法 NotFound().

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap