[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
        }
    ]
}

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值