你会这样返回API结果吗?

只有经历过的老司机才明白的痛,仔细琢磨为什么。

新手:

{
    "code": 0,
    "msg": "ok",
    "data": [
        {"name": "jack"},
        {"name": "join"}
    ]
}

老司机:

{
    "code": 0,
    "msg": "ok",
    "data": {
        "list": [
            {"name": "jack"},
            {"name": "join"}
        ]
    }
}
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 26

加字段会很恶心第一种

1年前 评论

知道,前端、UI、老板、产品加需求,需要加字段

1年前 评论

是为了后期数据格式变化,新旧版本替换等。方便维护。

"data": {
    "list": [
        {"name": "jack"},
        {"name": "join"}
    ],
   "count":1,
  "page": 2,
   .....
}
1年前 评论

还要加上 spatie/laravel-json-api-paginate,好分页

1年前 评论

file

一直都是第一种

1年前 评论

列表应该加上分页信息吧? 明显也是 新手 :see_no_evil:

1年前 评论
DonnyLiu

一直用的第二种,方便增加分页信息,前端也好理解

1年前 评论
aab

不要被局限住,可以添加一个 meta

1年前 评论

看到这么多被坑过的老司机我就放心了

1年前 评论

很明显第二种才是合理的、正确的。 第一种 data 结构是 list,但后端肯定不可能一直返回 list 的,当要返回 map 集合时,data 的类型就变了,很容易导致强类型语言(比如安卓)的崩溃。

1年前 评论
6324红老嗨 1年前

数据也不一定全放data里面啊.

1年前 评论

还不知道后面谁接手,坑留给下一任

1年前 评论
PHP-Coder 1年前

其实这两种都可以,但小程序线上的前端代码是多个版本共存的,想追加额外的数据,第一种格式就没办法了,只能另写接口

1年前 评论

做过安卓对接就知道为啥了

1年前 评论

肯定第二种 第一种接口加字段的时候就gg了 前端又要跟着改

1年前 评论

这两种我都用,当需要返回列表信息时,我用的是第二种

1年前 评论

一直,以及永远都会用第一种。

加字段?加字段就增加嵌套啊,,,这有什么问题吗

1年前 评论

体育老师说:data 请永远返回对象,不要返回数组。

1年前 评论

我觉得都没啥问题,前端需要怎样的就给怎样的。除非是对外公共API,就要考虑兼容性和升级空间了

1年前 评论

没看明白,是list还是那个花括号

1年前 评论

data 结构不统一,安卓对接很恼火

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!