GET api/v1/resource/1
返回示例 1:
{
status: "success",
data: {...item_body...}
}
返回示例 2:
{
...item_body...
}
以上两种哪一种比较好?
第一种比较方便前端判断状态,但由于有 HTTP Status Code 来表示状态,这样做似乎又是多余的。
说说你们喜欢哪种,以及对接过的其他平台的 API 有哪种比较多。
1
qiayue 2018-10-23 15:45:37 +08:00
虽然很多人通过各种分析说有 HTTP Status Code 就足够了,但是,实际使用中还是第一种更方便
|
3
knightlhs 2018-10-23 16:10:59 +08:00
只有 HTTP Status Code 是不够的 因为还需要业务代码
另外国内各种奇葩网络环境 会在 非 200 有各种诡异的情况 投毒 注入等 需要考虑异常情况(不考虑 ssl ) |
4
whypool 2018-10-23 16:13:21 +08:00
{
code:123, message:'ok', data:... } |
5
LINAICAI 2018-10-23 16:18:34 +08:00
写成 2 的话,客户端会打你喔
|
6
gy911201 2018-10-23 16:23:42 +08:00
我用 2,如果出了问题
http code 就不为 200, 再显示一个结构是 { "code": 1, "message":"" } 的响应出来,这样终端那边很多情况只需要注册一个全局的异常处理就可以了(弹提示) |
7
huaizhouYu 2018-10-23 16:23:54 +08:00
毫无疑问是 1
|
8
limuyan44 2018-10-23 17:45:28 +08:00 via Android
http 状态码来判断业务本来就是不对的,这个只能代表 http 请求响应状态又不能代表业务处理状态。不然密码输错给前端反个 500 试试,不砍死你。都是 rest 害得。
|
10
nyse OP 没想到 V2 这么多人不支持 RESTful,一片都倒向第一种。
|
11
jx99 2018-10-23 17:48:59 +08:00
喜欢用 1,上级大佬让用 2
|
12
xiaolanger 2018-10-23 18:10:14 +08:00
业务代码要单独的,跟 HTTP 状态码不是一回事
|
13
NicholasYX 2018-10-23 18:34:35 +08:00 via iPhone
用一
|