你会这样返回API结果吗?

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

新手:

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

老司机:

{
    "code": 0,
    "msg": "ok",
    "data": {
        "list": [
            {"name": "jack"},
            {"name": "join"}
        ]
    }
}
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 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年前 评论

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