和主管为一个接口输出真吵了一天,搞得都想离职,求怎么破

2019-03-19 11:10:18 +08:00
 HackerPainter

主管想用的接口输出

{
  "status" : "错误码",
  "error" : "错误消息",
  ......
}

楼主想用的接口输出

{
  "errorCode": "错误码",
  "errorMsg" : "错误消息",
  ......
}

我在想一个接口至于争吵一天吗?最后我妥协了,现在感觉好想离职,请问怎么破

38454 次点击
所在节点    程序员
436 条回复
edk24
2019-03-19 17:23:36 +08:00
我个人更倾向于
```
{
"code": 200,
"msg": "操作成功",
...
}
```
或者
```
{
"status": 200,
"msg": "操作成功",
...
}
```

简洁又直观, 让项目任何接口都必须**至少**带"code/status". 定死一个**状态码**而不是错误才出现的**错误码**.

至少抓包的很多接口是这么干的. 又便于和前端对接. 否则你这个**错误码**会让前端多出一个可以忽略的`if isset`操作
karllynn
2019-03-19 17:23:57 +08:00
@zhea55 你写过代码么。。业务错误你不给错误码,前端怎么根据错误提示用户?
lepig
2019-03-19 17:28:06 +08:00
要是我 我就这样
```json
{
"code": "ooo",
"error": "xxx"
}
```
zhea55
2019-03-19 17:30:21 +08:00
@karllynn 哎, 是不是非要我说

一些人对 http 协议,http 状态一无所知,

然后开始自己造轮子,自己搞状态


没有这种 sb 响应,就不能提示用户了吗?


再说了,做后端开发,应该把精力放在尽力解决所有 bug,以及服务的可用状态。

而不是提前设计好 error 状态,随时准备给用户甩锅



请问一句,用户看到你的错误,是什么心情?
lepig
2019-03-19 17:30:49 +08:00
我以前也喜欢搞这种所谓是 code,近几年不怎么用了。因为开始结合用 http status_code,如果错误 直接报提示文案就好了。


搞那么多 errorcode 谁认识呢? 还得去字典里找文案 受罪
feikeq
2019-03-19 17:34:14 +08:00
我也选第一种,其实这没什么好争的.....
我的接口平常都这样设计,error 直接返回错误信息,不用那个什么代码,还要专门解释错误代码是什么意思...

{
"meta": {
"error": "This username already exists (这个用户名已经存在)",
"msg": "Request was successful (请求成功)"
},
"data": "数据"
}
ryanking8215
2019-03-19 17:38:09 +08:00
2 种都不用,http code 200 返回正常响应数据
{
"data": ...
}

遇到错误了,http code 要么 4xx, 要么 5xx,此时返回错误对象
{
"errno": xxx,
"errmsg": "xxx"
}
liu19931020
2019-03-19 17:54:54 +08:00
主观的更抽象一点,但感觉没有抽象好,我认为名称不应该和具体内容耦合
AngryMagikarp
2019-03-19 17:59:50 +08:00
@feikeq 你们直接把“ This username already exists (这个用户名已经存在)”这样的字符串报给用户?另外如果客户端要做国际化多语言怎么办。
leexy
2019-03-19 18:02:05 +08:00
你还敢上 v2 来发帖 你走吧 明天别来上班了
binaryify
2019-03-19 18:02:55 +08:00
一般不是返回 {code:"0",msg:"xxx"} 吗
liuguang
2019-03-19 18:11:24 +08:00
@keepeye 英雄所见略同
cuzfinal
2019-03-19 18:13:40 +08:00
好,你走吧
PhpBestRubbish
2019-03-19 18:16:47 +08:00
我要是主管,我会让你走,这种事情能和主管吵一天
mgso
2019-03-19 18:20:48 +08:00
你离职吧
kaedea
2019-03-19 18:45:37 +08:00
restful 标准了解一下
Asan
2019-03-19 18:46:02 +08:00
为这种事吵一天?😂
tyrealgray
2019-03-19 18:48:58 +08:00
status 不是 http 的状态码吗?这个字段应该预留吧
25H
2019-03-19 19:00:15 +08:00
我觉得这样更好😁

```json
{
"Code": "错误码",
"Msg" : "错误消息",
......
}
```
xcFelix
2019-03-19 19:08:08 +08:00
你离职吧!
主管太仁慈了 不要再祸害公司了

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

https://ex.noerr.eu.org/t/546096

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

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

© 2021 V2EX