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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM