1.JS 判断起状态码来相对还是比较麻烦的
2.HTTP Status 主要几个状态码还行,其他的状态码感觉并不是很清晰
3.经常遇到网络有问题的时候返回 200 但是 body 里是空值的时候
而且个人感觉用 HTTP Status 来返回状态码 并没有感觉到什么方便 /舒服的地方
不知道大家怎么看呢,应该用哪种方式呢?
1
abelyao 2016-12-02 14:49:35 +08:00 via iPhone 2
这一两个月以来 V2 上至少两个帖子讨论这个问题了
|
2
m939594960 OP @abelyao 哈哈 但是都没有很明确的结果,还是想来问问。
|
3
abelyao 2016-12-02 14:52:45 +08:00 via iPhone
@m939594960 有什么区别,照样还是各抒己见
|
4
hellommd 2016-12-02 14:52:52 +08:00
这个本来就是没有结果的问题,符合内部使用要求即可。
|
5
wdrsam 2016-12-02 15:13:24 +08:00
各有各的要求。反正我们公司的前端经常抱怨我们的 api ,明明这个动作的(例如更新一个字段)执行失败了,你就直接 message 那返回 false ,为啥还个字段写个 false , message 那是 true ?我说,那个 true 证明你请求成功了。。 2 个东西表达意思不一样呢
|
6
EXE 2016-12-02 15:20:14 +08:00 via Android 3
我一直都是使用的后者,天朝这种网络环境下,返回个非 200 的响应指不定运营商给你劫持到什么页面
|
7
kernelreload 2016-12-02 15:23:06 +08:00 via Android 1
有的时候明明错误了,我们伟大的天朝运营商还是会给你返回完美 200 还附送广告一幅。
|
8
jarlyyn 2016-12-02 15:24:55 +08:00
1.如果用 jquery,用状态码判断是最简单的。直接 ajaxsetup 。
2.目前的网络环境,已经不用考虑劫持了。直接上 Https 吧。 |
9
Felldeadbird 2016-12-02 16:03:27 +08:00
我觉得你应该和对接的人说,而不是到网上问。
即使大家给了你建议,但内部得看法和大家的建议不一致时怎么办呢? |
10
learnshare 2016-12-02 16:09:14 +08:00
|
11
baiyi 2016-12-02 16:14:40 +08:00
|
13
learnshare 2016-12-02 16:34:36 +08:00 1
@baiyi 都是闲逛的人 >_<
|
14
phpcxy 2016-12-02 16:38:08 +08:00
都没所谓,看调用接口的人需求!
|
15
xhat 2016-12-02 16:52:42 +08:00 2
一个严肃的工程思维不应该用状态码
状态码在本质上不属于业务逻辑范畴 不能把服务器响应状态和业务逻辑返回值混为一谈 举个简单例子: 在发起支付时,要判断支付的几种状态:提交失败、提交成功但支付失败、提交成功且支付成功。 只用 200 显然不能解决这种业务逻辑。如果为每个动作赋予一个状态码苟且解决,就完全失去状态码的意义了。 这或许就是程序员和工程师的区别,之一吧 |
16
jarlyyn 2016-12-02 17:04:02 +08:00
|
17
jarlyyn 2016-12-02 17:08:01 +08:00 1
@xhat
个人理解,要以严肃来说,必须用状态码。 状态码表示的是 http 状态的错误。 典型如 404/403/401 4 系列错误本身就是指客户端错误,客户端应该确认正确后再重新发送。 返回的错误码表示业务的错误。 最典型的区别,这会影响到 Http 服务器,浏览器 /客户端的缓存逻辑。 |
18
shsf4 2016-12-03 00:27:23 +08:00 1
应该结合两种来使用~
使用常见的状态码,至少 200 , 404 , 301 这些都要用到吧 业务类型的 code 也需要,你看微信接口那么多种类型的 code |