api 接口 http 响应码问题?

2019 年 11 月 11 日
 Zach369

2018 年 新项目 开始使用 restful 风格接口. 所有的返回 遵循 HTTP 响应码. 结果 很不理想,不管是 web 还是客户端,亦或者安卓和 ios. 都很反对这种开发模式. 但是楼主还是坚持了下来.

目前又有一个跟外包配合的项目. 外包那边提出 所有的接口 必须是 200.

返回格式必须是:

{
    "code": 0,        //0 位正常,其他则为异常.
    "result": "",
    "msg": "报错信息"
}

想问下 各位大佬现在是怎么使用的那?

9191 次点击
所在节点    程序员
70 条回复
shakaraka
2019 年 11 月 11 日
月经贴
chengran630
2019 年 11 月 11 日
- - ,各位来吧
我赞同 code 等于状态
大概是用 thinkphp 习惯了
pelloz
2019 年 11 月 11 日
不要教条,哪种方便用哪种,混着用最方便
TomVista
2019 年 11 月 11 日
这个无所谓,写好文档,定义好格式,就够了.
fengpan567
2019 年 11 月 11 日
格式没问题,三部分都有。但是错误码还得根据自己的业务来,我自己设计接口也不会把 200 当成成功返回值。
chengran630
2019 年 11 月 11 日
之前和一个 windows 软件开发的同事对接过,
他们也是喜欢 code=1 是错误,0 是正常,
我就喜欢 code=1 正常 0 错误.....
Raymon111111
2019 年 11 月 11 日
0 表明正常, 其它表示异常.

实现的又不是 http 协议, 用 http 协议的规范是有点奇怪的.
zxcslove
2019 年 11 月 11 日
@lcy630409 估计思路是这样的:前一种只有 1 和 0,后一种 0 是正常,异常则有很多种。
Smilencer
2019 年 11 月 11 日
随意
zhuweiyou
2019 年 11 月 11 日
因为这个 code 你要理解成 error code,所以 0 是正常,才是对的。
zqguo
2019 年 11 月 11 日
问题不大啊,规范好就行了,没啥纠结的。
HangoX
2019 年 11 月 11 日
我不明白的地方是,如果用 http 状态码表示的话,反正我都要解析内容,那我干嘛还要管 http 状态码?
FinnBai
2019 年 11 月 11 日
快成周经贴了

我支持响应部分 HTTP status code,成功时 "code:0" 完全没有必要,直接返回数据
wangkun025
2019 年 11 月 11 日
我用状态码
Hopetree
2019 年 11 月 11 日
他们要所有接口都返回 200 应该是考虑的前后端分离,现在前后端分离的话,按照这种返回格式给前端去判断其实也挺好的,所以说两种方式没有哪种更好,看需求,怎么好用怎么来呗
wangyzj
2019 年 11 月 11 日
0 位正常,其他则为异常.
我现在就是这样
dallaslu
2019 年 11 月 11 日
把整个 HTTP Header 都在 JSON 里写一遍,爱用哪个用哪个。
rogwan
2019 年 11 月 11 日
code = 0 是有 sub_code 的含义,用于标注业务状态
kwanzaa
2019 年 11 月 11 日
没问题,但是要写好文档。400/500/等异常处理要很明确协定。

抛个 http code 就不管的人都是憨憨。
riverluoo
2019 年 11 月 11 日
双方约定好 就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/618342

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX