REST API:在单个查询中创建嵌套资源
Posted
技术标签:
【中文标题】REST API:在单个查询中创建嵌套资源【英文标题】:REST API: Create nested resources in single query 【发布时间】:2020-10-17 01:37:43 【问题描述】:我有 2 个资源公司和员工,公司可以在没有员工的情况下存在,但不能反过来。
要创建有员工的公司,我必须触发 2 个 REST API,
POST /companies
POST /companies/:company_id/employees
Q1:如果我在单个休息查询中创建员工和公司可以吗?
POST /companies
"company_name": "my company",
"employees": [
"name": "Test name 1",
"name": "Test name 2"
]
Q2:如果是,对/companies 的 GET 请求是否也必须返回相同的嵌套文档?
我正在计划这样的事情:使用上述查询与员工一起发布公司数据
GET /companies - Will give me only company data
GET /companies?populate=employees - Will populate the nested resouces in this GET call
GET /companies/:company_id/employees - I still should be able to access employees in this manner
【问题讨论】:
【参考方案1】:你会如何在网站上做到这一点?
Q1:如果我在单个休息查询中创建员工和公司可以吗?
是的,可以创建多个资源来响应单个请求。
Q2:如果是,对/companies 的 GET 请求是否也必须返回相同的嵌套文档?
不,这不是强制性的。
【讨论】:
以上是关于REST API:在单个查询中创建嵌套资源的主要内容,如果未能解决你的问题,请参考以下文章
创建 REST API 时使用 Laravel 嵌套动态资源控制器的正确方法