就算是完全用 200 一把唆, 也得判断 http code 。
如果返回结果确实需要自定义 code ,就需要两层处理:
// 第一层 无论如何都是要处理的
if(res.statusCode==200) {
// 第二层再判断一下 code
if(res.json().code==0){
// 正常业务代码
)else if(res.json().code==1){
raise Error(res.json().err)
}
}else if(res.statusCode==400){
raise Error(res.body)
}else if(res.statusCode==401){
// 未登录.....
}else if(res.statusCode==404){
// .....
}....500 ,501 xx
--------------------------------------------------------------------------------
如果返回结果简单,就用一层就够了。
(很多公司的 api 其实就一层:
https://v2ex.com/t/846785 )
// 只有第一层
if(res.statusCode==200) {
// 只要是 200 , 就是正确的结果,不需要加第二层 code 判断
// 正常业务代码
}else if(res.statusCode==400){
raise Error(res.body)
}else if(res.statusCode==401){
// 未登录.....
}else if(res.statusCode==404){
// .....
}....500 ,501 xx
------------------