讨论:RESTful 接口应该用 HTTP 状态码来表示业务逻辑吗?eg:找不到当前用户信息返回 404

评论

精彩评论

crystalsis
02/20 11:43  
曾经我们也是用HTTP状态码来表示的,直到有一天,调用地址写错了。。。
jump--jump
02/21 16:20  
找不到用户返回 200+空对象 啊。99%需求根据 http状态码 加业务数据就可以处理可以处理(登录属于例外情况)。 400就是客户端错误。难道找不到当前用户信息算客户端错误吗?我们项目基本上只会出现 200 401 403 404 500+,不过我们 api 不存在返回 403。
quanwei9958
02/22 15:35  
HTTP code 比较好,原教主义教徒
烈冰
02/22 10:37  
不应该,状态码是底层http网络的状态,和业务无关
挪鸡鸭
02/21 10:13  
目前做法是 httpstatus 返回 404,然后输出json { code: "user.not.found", msg: "用户不存在" }。。

最新评论(31

晨雨零稀
02/23 07:22  iPhone
摆脱,让全球通用的HTTP状态码回归它本来的意义吧!
衷于栖
02/22 23:22  iPhone
那要http状态码干啥?自由定制就行了
rushA
02/22 20:16  Android
回复: @crystalsis : 然后返回结果了0,怕不怕
刘俊林
02/22 17:34  
用自定义的业务状态码,不是也要判断http状态?还不如都用http状态码
quanwei9958
02/22 15:35  
HTTP code 比较好,原教主义教徒
烈冰
02/22 10:37  
不应该,状态码是底层http网络的状态,和业务无关
手握华为赛神仙
02/21 21:20  Android
个人经验,HTTP状态码只能表示个大概的意思。具体错误原因还是得自定义错误码。
jump--jump
02/21 16:20  
找不到用户返回 200+空对象 啊。99%需求根据 http状态码 加业务数据就可以处理可以处理(登录属于例外情况)。 400就是客户端错误。难道找不到当前用户信息算客户端错误吗?我们项目基本上只会出现 200 401 403 404 500+,不过我们 api 不存在返回 403。
hi懒喵
02/21 15:17  
code,message一起看,这俩目前够了
开源中国胖纸
02/21 15:12  
自己定义code,返回业务状态码,用httpCode就是给自己找麻烦
挪鸡鸭
02/21 10:13  
目前做法是 httpstatus 返回 404,然后输出json { code: "user.not.found", msg: "用户不存在" }。。
willess
02/21 09:53  
混一起,不出问题还好,出问题排查 问题都不好排查,到底是网络问题呢,还是代码问题呢?甩锅都不好甩。😄
我想有个家
02/21 09:48  Android
业务一律code
卢温禾
02/21 09:42  
关键是协作者之间有一个统一、良好的规范。
丶一意孤行
02/21 00:10  
像微软那样,用HTTP状态码+Body,这样即使是404也可以区分了。
Chilies
02/20 21:45  Android
牛逼哄哄,第一次听说
知梦寒
02/20 20:56  
还是分开吧,个人感觉纯粹的RESTful太理想化,适度采用吧。。 理想:HTTP已经是应用层协议,HTTP资源一一对应业务对象,HTTP状态码即业务状态码 。 现实:HTTP更像应用层与运输层之间的一层,HTTP资源设计本来就乱七八糟,HTTP状态码和业务状态码更很难一一对应 。
范特彪西
02/20 20:27  Android
这就是混用http 状态码和业务状态码
马丁的早晨
02/20 20:06  Android
这会坑的一逼
暗夜随风
02/20 16:33  
响应都返回200啊,返回的code使用http状态码,有何不可?

没有更多内容

加载失败,请刷新页面

返回顶部
顶部