还能不能好好的写 API 了

2016-11-17 17:24:03 +08:00
 jianghu521

我是写 API 的

写的好好的 REST API. 领导说要重构, 让所有的 HTTP Status 都返回 200. 这不是尴尬吗?

哎, 找了一堆国内的 API 作对比, 然后我扔给他 github 的 API 看. 但是没有起作用.

这可如何是好啊!!!

14322 次点击
所在节点    程序员
125 条回复
tomczhen
2016-11-17 17:32:29 +08:00
要么忍,要么滚。
Tuisku
2016-11-17 17:32:38 +08:00
领导说什么你就干什么 不爽就离职
↑ 最简单的解决方案 ↑如果你不想听领导的
xxxyyy
2016-11-17 17:33:22 +08:00
重构?使用 API 的同意了吗?
huijiewei
2016-11-17 17:33:55 +08:00
这个不是很简单吗?把 response 再包装一下就可以了
cxbig
2016-11-17 17:34:16 +08:00
外行指导内行的又一案例?
你有没有问清楚目的?
如果是对接的那一方限制了 response 的方式而又不能即时改进呢?

我有见过很多 AJAX 统一用 success 接收 data ,从传回的包里拿 status 做进一步处理的。而不是严格按照 Restful API 的规则来。

标准是一回事,你可以努力推动。但是实际情况复杂,可能需要一些妥协。
tzwe
2016-11-17 17:36:40 +08:00
领导毕竟是领导,胳膊拗不过大腿。
Yourdaye
2016-11-17 17:37:24 +08:00
bombless
2016-11-17 17:38:08 +08:00
一般项目都会为了各种无聊的理由做一些 suboptimal 的选择的,这个只是其中一例而已, 233
jianghu521
2016-11-17 17:38:47 +08:00
返回 200 到是简单!为什么 不能按照 http 标准来呢?正在努力推进!
jianghu521
2016-11-17 17:40:30 +08:00
@tomczhen 是这样的!👽👽
Ouyangan
2016-11-17 17:40:34 +08:00
我倒是支持都返回 200 , 响应体中 data ,code,msg . code 用来做校验字段 ,msg 做提示信息
xgfan
2016-11-17 17:40:42 +08:00
ISP 劫持非 200 怎么办?
misaka19000
2016-11-17 17:41:06 +08:00
1 楼已经给出了解决方案了
abelyao
2016-11-17 17:41:17 +08:00
jarlyyn
2016-11-17 17:42:09 +08:00
直觉 nginx 可以直接处理掉
murmur
2016-11-17 17:43:04 +08:00
不错了,我们系统的所有错误都是 404
jianghu521
2016-11-17 17:44:42 +08:00
HTTP 状态码已经有语义了。既然选择了 Rest API 就要按照标准来.
xiaotianhu
2016-11-17 17:46:34 +08:00
@xgfan 正解啊!运营商这么没节操 劫持太正常了
都 200 它还能好点
jianghu521
2016-11-17 17:46:50 +08:00
统计一下 大家都是返回 200 还是 按照 http status 来返回的. 谢谢大家
abelyao
2016-11-17 17:49:36 +08:00
@jianghu521 个人还是支持业务状态返回 200 再加 status 表示业务状态,如果把业务状态也放在 http status 中,请求封装不太好统一处理。假如前端请求删除一个不存在的资源,也返回 http 404 吗?

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

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

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

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

© 2021 V2EX