接口 api,后端结构返回问题?

2019-08-30 10:00:20 +08:00
Zach369  Zach369

最近跟 ios 接口联调,ios 说我的 api 接口返回格式不合理。想问问大家工作中是怎么处理的?

我的接口返回样子:

   {
     "data": [
       {
         "id": 28,
         "action": 2,
         "user": {
           "id": 1,
           "name": "zach",
           "avatar": ""
         },
         "topic": {
           "id": "279a11cf-4a21-4772-ba07-5e51b499252d",
           "title": "",
           "content": "我是蛋糕 我在躲猫猫"
         },
         "comment_id": 1,
         "created_at": 1565834869
       }
     ],
     "pagination": {
       "current_page": 1,
       "per_page": 10,
       "total": 1
     }
   }

ios 想要的数据结构:

  {
    "data": [
      {
        "id": 28,
        "action": 2,
        "user_id": 1,
        "user_name": "zach",
        "user_avatar": "",
        "topic_id": "279a11cf-4a21-4772-ba07-5e51b499252d",
        "topic_title": "xxx",
        "topic_content": "我是蛋糕",
        "comment_id": 1,
        "created_at": 1565834869
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 10,
      "total": 1
    }
}

两者之间的变化 就是 将 user 和 topic 对象打散成 key:value 的形式。 想问问广大的后端开发人员以及 ios,大家是怎么处理的那?使用那种返回形式?

8198 次点击
所在节点   API  API
93 条回复
nigelvon
nigelvon
2019-08-30 18:36:37 +08:00
前端要是组件化肯定第一种更爽,对象配组件,要是返回第二种反而工作量大。
xFrye
xFrye
2019-08-30 19:10:29 +08:00
@0x000007 你的后端想必是个 php。。别问我为啥知道的~~~ 不过后面沟通之后弄回 jsonArray
coderyoung2017
coderyoung2017
2019-08-30 19:16:29 +08:00
关键还是沟通吧
V2exUser
V2exUser
2019-08-30 22:36:55 +08:00
@0x000007
哈哈哈哈 又黑 Php
jieyuanz24
jieyuanz24
2019-08-30 23:10:54 +08:00
显然第一种合理
chinagxwei
chinagxwei
2019-08-30 23:59:14 +08:00
压根只是 ios 懒……,这个层级数并没有很多
xjq
xjq
2019-08-31 00:01:43 +08:00
graphql 用的人多吗
MonoLogueChi
2019-08-31 00:03:50 +08:00
都合理,但是第二种写起来会方便一点
leopku
2019-08-31 08:22:42 +08:00
换 graphql,想要或不想要让他自己决定
turi
2019-08-31 10:07:08 +08:00
看起来,你合理。
但是你们写之前不都沟通定义一下的吗?
Vitta
2019-08-31 10:09:44 +08:00
只要不是动态的 key 我都能接受
daguaochengtang
2019-09-02 17:22:32 +08:00
@Zach369 这不算黑吧。。。只是吐槽
StarkWhite
2019-09-04 18:31:13 +08:00
@xjq 很多国内外大公司都在用 GraphQL 了,看这个帖子就知道多火了
v2ex.com/t/589138

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/596421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX