[json-server] RESTful API 中,取主数据时,同时获取多个关联子表的数据

项目背景:

  • back-end:ASP.NET Core WebAPI
  • front-end:Vue(+vue-router +vuex +axios)(webpack)(json-server + mockjs)

mock数据部分用的 json-server + mockjs

mockjs:通过循环创建大量数据,使用Random方法,产生出随机的数据,日期,邮箱,名字(中英),字母单词段落等

json-server:轻松启动一个 RESTful 风格的 API 服务。

↓ 网上找到的不错的相关介绍博文:
用JSON-server模拟REST API(三) 进阶使用
json-server的关系图谱详解(Relationships) 这篇着重举例说明了关系图谱(Relationships)

关于【关系图谱】,读完有个疑问,就是,如果一个表的 id 关联在2个表以上里,
那能都同时取出来吗( _embed 取子数据集 )

本文就是记录这一点补充的:

答案是:可以的。


http://localhost:3000/projects/1?_embed=WorkItems
可以取 id=1 的 project 及 相关的 WorkItems

{
    id: 1,
    name: "xxx",
    WorkItems: [
        {
            id: 1,
            name: "abc",
            projectId: 1
        },
        {
            id: 6,
            name: "def",
            projectId: 1
        }
    ]
}

http://localhost:3000/projects/1?_embed=Members
可以取 id=1 的 project 及 相关的 Members 

{
    id: 1,
    name: "xxx",
    Members: [
        {
            id: 2,
            name: "aaa",
            projectId: 1
        },
        {
            id: 7,
            name: "bbb",
            projectId: 1
        }
    ]
}

http://localhost:3000/projects/1?embed=WorkItems&embed=Members
可以取 id=1 的 project 及 相关的 WorkItems 和 Members

{
    id: 1,
    name: "xxx",
    WorkItems: [
        {
            id: 1,
            name: "abc",
            projectId: 1
        },
        {
            id: 6,
            name: "def",
            projectId: 1
        }
    ],
    Members: [
        {
            id: 2,
            name: "aaa",
            projectId: 1
        },
        {
            id: 7,
            name: "bbb",
            projectId: 1
        }
    ]
}

猜你喜欢

转载自www.cnblogs.com/CoderMonkie/p/json-server-restful-api-get-multi-child-data.html