主管想用的接口输出
{
"status" : "错误码",
"error" : "错误消息",
......
}
楼主想用的接口输出
{
"errorCode": "错误码",
"errorMsg" : "错误消息",
......
}
我在想一个接口至于争吵一天吗?最后我妥协了,现在感觉好想离职,请问怎么破
主管想用的接口输出
{
"status" : "错误码",
"error" : "错误消息",
......
}
楼主想用的接口输出
{
"errorCode": "错误码",
"errorMsg" : "错误消息",
......
}
我在想一个接口至于争吵一天吗?最后我妥协了,现在感觉好想离职,请问怎么破
首先非常感谢各位社友的回复和讨论,在看各位社友的评论中学到了很多东西,果然三人行必有我师焉!
社区有些社友可能认为这种接口争吵没啥意义,随便定义一个就行,但如果这个接口被几千人使用甚至被几万人使用,那就得对这个接口好好设计了。如果连自己都对自己提供的接口不保持敬畏,那就别指望用户对你提供的接口保持敬畏,对于用户的抱怨牢骚那只能全部接下。过去几年里很多用户对我们提供的接口出现过各种各样的抱怨(每个用户都有一套自己心目中的接口,就像社区内留言出现很多接口定义),如果接口提供方的接口与接口使用方心目中的接口不一样就会出现或多或少有抱怨和吐槽。为了尽量让用户用的爽,减少用户的抱怨,所以就和主管对接口进行了争吵(善意的争吵),至于想离职是其它方面的原因;
有些社友可能认为和主管争吵不太好,主管想做成什么样自己就做成什么样。但你真认为这种状态好吗?即使你照做了,你觉得主管认可你吗?在互联网环境下,得多与主管、同事讨论讨论问题,有些难解的问题就是在讨论中产出解决方案的。过去几年和主管同事争吵过无数次甚至拍桌子,差点打起来,但这种都是idea的碰撞,只有碰撞中才能产出好的idea,其实碰撞完后同事主管都会私下交流这个都是各自想法,不代表其他含义,不要往心里去。对于主管要你做啥你就做啥,那主管招你有何用,主管可以招任何一个人来替换你,这样你的自身竞争力在哪里。一个程序员要往高处发展,要学会自己去发现问题去解决问题,而不是等待主管安排问题,比如主管交给你一个手工线上部署任务(需要经常部署),结果你每次都可以手工无故障的部署完成,但这种结果是主管希望的吗,主管再找一个人也可以无故障的手工部署,但如果你把手工线上部署做成自动化工具一键部署,可以节约时间且无风险,这样在主管看来你就是不可替代,能自己对问题提出解决方案;
程序之美应该包含编程之美、接口之美和测试之美。如果有一段程序编程无规范、接口随便定义,无单测和功能测试,让你去接手这段代码,你会怎么想?所以还是对接口保持敬畏之心,多花点时间定义接口,少花点时间答疑和听用户的抱怨;
下面各出了很多社友的接口定义,可以供借鉴,排名不分先后,可以投票😄
{
"code": "错误码",
"message": "错误消息"
}
{
"errno" : "错误码",
"message" : "错误消息"
}
{
"status": "错误码",
"error": "错误消息"
}
{
"status": "错误码",
"msg": "错误消息"
}
{
"errKey": "错误码",
"errMsg": "错误消息"
}
{
"status": "错误码",
"error": "错误消息",
"errorCode": "错误码",
"errorMsg": "错误消息"
}
{
"statusCode": "错误码",
"statusMsg": "错误消息"
}
{
"error_code": "错误码",
"error_msg": "错误消息"
}
|
lincanbinMar 19, 2019
302
还是工作不饱和
|
|
jxgccaaronMar 19, 2019 via iPhone
303
{ "errors":"错误消息";}
就这样,完了 code 按 restful 来 |
|
mostkiaMar 19, 2019
304
{"code":"200","msg":"........",......}这样可能比较好
一般没必要强调错误参数,返回的什么可能性都有,唯独错误率应该是低的,这是上线的接口的基本功。 所以在很少有错误发生的情况下,为其专门准备一个返回值位置,可能就有些多余,而且也不能从中反推出其他的可能状态,因为总会有其它的状态出现。 还有啊,每个人的想法都是不同的,在公司里面的话,就不能意气用事了,主管怎么说你就怎么做呗。做出来的东西又不是你自己的。不必纠结那么多,大家都是混口饭吃,都留一些情面嘛,好说话一些。 |
|
srx1982Mar 19, 2019
305
code, msg 就完了,越少越好
这个真的不值得吵 |
|
psj1105Mar 19, 2019
309
这个话题唯一有点价值的就是 V 友们互(各)相(自)学(站)习(队)了
|
|
liubaicaiMar 19, 2019 via Android
310
吵架算什么,有本事去尬舞啊
|
|
oxygenliuMar 19, 2019 via iPhone
311
这也能吵?
|
|
om6r5sqSGG9Magr0Mar 19, 2019
312
为这点事情离职 不值得
|
|
simonv3exMar 19, 2019
313
我听说过有公司吵架的罚 2 个人牵手一下午的,好像在 b 站上看到的来着[滑稽]
|
|
zhuzhibinMar 19, 2019 via iPhone
314
我更想听听楼主以及主管这样设计的各自的理由是什么???
|
|
ZehaiZhangMar 19, 2019
315
??? 315 楼了,所以为啥吵架?
|
|
pinewsMar 19, 2019
316
在执行成功的时候,楼主的方式缺陷很大,具体事情具体分析,如果不去分析的话,主管的方案更具有普遍性
|
|
pinewsMar 19, 2019
317
@HackerPainter
主管的方案里 status 只有两种状态,成功和失败,失败了就提示 errmsg 的内容,并不区分具体错误码。 错误码要来干什么,第一要准确定义错误,防止 msg 歧义,第二归类,错误码很多,第三,程序自动识别。 你都没说问题的背景是什么,不知道怎么评价。 |
|
exipMar 19, 2019 via Android
318
这个帖子囊括了一天的笑点.哈哈哈
|
|
GotaMar 19, 2019
319
比较喜欢 GraphQL 的返回格式:
``` json { "data": { ... }, "errors": [ ... ], "extensions": { ... } } ``` |
|
billleeMar 19, 2019
320
|
|
tourist2018Mar 19, 2019
321
看不出这俩有啥区别,命名而已,要是我和别人对接接口,只要数据格式规定好,别的怎样我都没问题
这也能炒一天 感情公司找你上班这么浪费时间的? |
|
luckyswagMar 19, 2019
322
同情主管
|
|
sorshionMar 19, 2019
323
你们就没考虑到正常业务也需要 message 的嘛
{ status:true/false, // true 为正确业务,false 为错误业务 code: 1000,// 编码 msg: '' , // 正确时或错误时用户提示信息,与 code 对应,方便做文案映射 data:{} // 一定要为对象,不能为'',0,null 之类 } ----------------------------- 突然感觉如下的也合适 { code: 200,// 编码(假设 200~299 的为正常) msg: '' , // 正确时或错误时用户提示信息,与 code 对应,方便做文案映射 data:{} // 一定要为对象,不能为'',0,null 之类 } ----------------------------- 上面的感觉又变成了 http_code 了,直接 restful 得了,用 http_code 表示不同状态,code 表示业务状态 |
|
sorshionMar 19, 2019
324
@ryanking8215 你的方案比较赞同
|
|
feikeqMar 19, 2019 via iPhone
325
@AngryMagikarp 一样可以配置做国际化语言,我现在就是中英双语,枚举想要的本地化语言文件即可
|
|
hanxiV2EXMar 19, 2019 via Android
326
只要有规范文档,用哪种都行!别改来改去就行。这事没必要吵,浪费时间。只要给够钱,用拼音,用中文都行。
坐等主管来说:我就是那个主管。 |
|
OnionJuiceMar 19, 2019
327
@luckyswag
+1,主管管不住人,还叫什么主管,变成前后端的传话小弟。 回楼主 这种返回格式不是一般都由主管定的吗?恕我直言,如果主管规定 { "1" : "错误码", "2" : "错误消息", ...... } 都可以。 说实话码农就是写代码的,标准是按照 leader 定的,各自一套这样的代码也是屎。 |
|
tt0411Mar 19, 2019
328
现在的主管管理要这么精细了? 我们接口都是自己说了算
|
|
16tMar 19, 2019
329
LZ 怕不是直译强迫症吧。。。。。。
|
|
shakarakaMar 19, 2019
330
早上才几个人回复。。。。现在居然能吵 300 多楼?。。也是厉害
|
|
feelingluckyMar 19, 2019
331
@keepeye 一般我也这样子,不接受任何规劝
|
|
xiaoqiMar 19, 2019
332
难道不就是定个规范的事情吗?
|
|
icekingMar 19, 2019
333
"ret", "msg", "data"
|
|
jzmwsMar 19, 2019
334
这个要看之前是这么定义的 ,要兼容旧的接口
|
|
tiaodMar 19, 2019
335
这都能翻 4 页,v2 的程序员也是够闲的
|
|
techmeMar 19, 2019
337
主管和新来的总监都不会用 git
代码在一个分支上盖来盖去,心累不想管(=。=) |
|
qianbiTHMar 19, 2019 via Android
338
闲的蛋疼,我就要连按 4 下空格,咬我啊
|
|
huangdayuMar 20, 2019 via Android
339
{
"code":200, "msg":"success", "decs":"成功", "data":"List<Obj>" } 不接受反驳 |
|
ksharp8Mar 20, 2019
341
一般用主管那种
|
|
SNOOPY963Mar 20, 2019
342
让开让开!
别问!问就是离职! |
|
xderamMar 20, 2019
343
感觉看大家讨论也能各种涨知识,如果不讨论楼主和其主管的纷争的话,其实挺好的。
个人感觉 这玩意应该没有四海统一的标准,楼主尝试下把大家的讨论结果整理下,然后给主管一个建议,他选择哪个就是哪个。然后在论坛里和大家讨论下到底哪个方案更好,单纯和主管讨论多没意思~~~ |
|
cyssxtMar 20, 2019 via iPhone
344
这个怎么吵一天 求教
|
|
BlBanaMar 20, 2019 via Android
345
有点浪费时间啊 ... 没必要啊
|
|
6260628Mar 20, 2019
347
听主管的,你有本事就坐他的位置,但感觉一两年内不可能
|
|
348
能为这点儿小事儿吵架
说明你俩积怨已深。 |
|
TrumeetMar 20, 2019
349
都怪袁隆平?
|
|
TrumeetMar 20, 2019
350
而且这个 Status Code 直接用 HTTP Status 更好吧,没必要扔到 Response body 里
|
|
mwfttsMar 20, 2019 via Android
351
一个编程门外汉来说,status 是的状态码,也可以提示错误以外的代码,例如成功和警告,这样不需要额外的定义
|
|
xuanbgMar 20, 2019
352
看到楼主的返回数据格式,就想起被微信支付接口支配的恐惧。。。我都想不明白为啥正确和错误要返回不同的数据格式???我在接到返回数据前,不可能知道结果是正确还是错误阿喂!
|
|
kingsonlMar 20, 2019 via iPhone
353
当然是选择简单明了的 所以第一种 如果是我 code message
|
|
undefined8Mar 20, 2019 via Android
354
就算听你的,最后得到什么呢。。
|
|
ryan18Mar 20, 2019 via Android
355
真好,又一天摸鱼白拿钱
|
|
kuyuzhiqiMar 20, 2019 via iPhone
356
支持主管,你的设计字段名太冗余了
|
|
httplifeMar 20, 2019
357
吓得我赶紧看下 api
{ "status": 0, "error": { "code": 0, "message": "string", "errors": { "code": 0, "field": "string", "description": "string" } } } |
|
5oiR5piv5YK76YC8Mar 20, 2019
358
@simonv3ex 那不得天天想办法和漂亮妹子吵架
|
|
saricesMar 20, 2019
359
{
"错误码: 0 "错误信息": "lalala" } |
|
oops1900Mar 20, 2019
360
其实哈,你是不想再公司待了,这不是借口吵不吵的问题,你想在公司待这还用问么?当然听主管的,感觉找工作吧。新都不在这儿。
|
|
361
@iidestiny 这你都知道?
|
|
guoyuchuanMar 20, 2019
362
看不懂这是为什么,难道我的政治觉悟太低了?
|
|
saeedMar 20, 2019
363
还真看不惯用 错误,成功 状态都放在 errorcode , 别告诉我只有失败的状态才放在 errorcode 其实用啥都行,实现需求就行 就一个字段名的问题吵一天,真是极品
|
|
macszh2013Mar 20, 2019
364
你主管是对的
|
|
wxl1380610Mar 20, 2019
365
真闲
|
|
sutraMar 20, 2019
366
|
|
phper69Mar 20, 2019
367
主管跟你吵得不是接口,是权力
|
|
rexyanMar 20, 2019
368
建议加上个唯一的 response id
|
|
xinjiangMar 20, 2019
369
先做人,再做技术
|
|
HonwhyMar 20, 2019
370
我的习惯仅供参考
code 对应编码,不完全是数字,比如 S00,B00,S=System B=Business status 类似于 HttpStatus 的语义,用数字描述, message, msg, errorMsg, desc,这些都不关键 |
|
wupherMar 20, 2019
371
为个字段名就争执了一天,如果没有历史或者其它原因,值得吗?
|
|
xinjiangMar 20, 2019
372
你这样的人不该在别人手下做事,应该自己开公司自己干,为了一段代码设计和主管吵一天,真是委屈你了
|
|
jorneyrMar 20, 2019
373
难道你们的接口都是返回错误信息么,字段都是描述错误为主 ^_^
|
|
toJokerMar 20, 2019
374
{
"code":, "msg": "", "data": ...... } |
|
ayumi043Mar 20, 2019
375
服了。两个没本子差别啊,或者有文档说明就 ok 了。这点破事也能吵。
|
|
justin2018Mar 20, 2019
376
那年在缅甸,因为赌石,我把护照都压上了,结果还是输了。赌石的地方在缅甸诺瓦达卡村,无奈之下我决定铤而走险,越境回国,可惜被缅甸边防军发现,向我开枪扫射,我左脚中弹,一瘸一拐的奔向祖国一步一步的挪,左脚的疼痛让我难以忍受,记得当时身边好多大树我都没扶,就服你 😁
开个玩笑~~~ 😅 我老大说啥 我就做啥子~ 😅 |
|
MaiiiiiiMar 20, 2019
379
理论上讲,这个对外输出的接口要配文档的,无论哪种方式有文档的话就都不是问题。
|
|
RyanOneMar 20, 2019
381
腾讯的某接口 案例
```javascript {"retCode":"0","retMsg":null,"retObj":true} ``` |
|
atonkuMar 20, 2019
382
你自己辞职吧,你定义的这是个鬼哦
|
|
crackhopperMar 20, 2019
383
function beFriendly(leaders_def){
return { errorCode: leaders_def.status, errorMsg: leaders_def.error } } 一个函数帮你解决分歧,不客气。 |
|
1354219429Mar 20, 2019
384
好搞笑 这都可以吵架
|
|
zongrenMar 20, 2019
385
还是工作不饱和·
|
|
onepunchMar 20, 2019
386
我现在终于理解为什么 go 要求 { 不能另写一行了,因为这些问题,脑浆子都能打出来
|
|
houzhimengMar 20, 2019
387
感觉楼主本质上是 diss 主管的技术能力,而不是接口命名
|
|
iv2exMar 20, 2019
388
支持你离职
|
|
string643Mar 20, 2019
389
离职吧。很闲啊,这都能吵起来,以后有的气受,早离早解放😬😬
|
|
yjxkwpMar 20, 2019
390
别吵了,用
zhuangtaima 和 xiaoxi 吧 |
|
l00tMar 20, 2019
391
看了评论我震惊了。用 errorno/errorcode 来表示返回值不是 C 语言开始就有的传统了吗? 怎么表示正确?返回 0 就表示正确啊。这还需要设计两种不同的返回格式?
只能说时代变化快,遵循传统的做法原本是可以减少沟通成本的,现在反而增加了沟通成本 |
|
publicvoidMar 20, 2019
392
现在的年轻人啊,定个接口都和主管吵还想离职,我们这些老年人,老板说啥就干啥,生怕丢了工作😂
|
|
feikeqMar 20, 2019
393
|
|
fundebugMar 20, 2019
394
有毒,这是段子吧...
|
|
nomemoMar 20, 2019
395
看了眼觉得你们俩都不咋地,不止是技术上的
|
|
GeruzoniAnsasuMar 20, 2019
396
GeruzoniAnsasu 23 小时 15 分钟前 via Android ♥ 3
我感觉诸位也能在这个帖子里吵一天。。。 算应验了吗 |
|
zjyl1994Mar 20, 2019
397
没啥可吵得,他说做啥你做啥就是了。上班就是为了赚钱,没什么忍不了的。
|
|
zichenMar 20, 2019
398
aws,阿里云之类的都有接口规范文档,看看人家是怎么设计的,参考一下就行了。
|
|
jabin88Mar 20, 2019
399
{"code":"200","msg":"........",......}这样可能比较好
公司项目当然是听主管的呀,你是拿钱干活。你自己项目就是随便你自己了 |
|
cexyMar 20, 2019
400
------------------翻页标记线-----------------------
|