如何处理RESTful API中的关系?

时间:2019-07-17 09:24:47

标签: rest api

例如,我有2个实体,它们之间存在n:m关系:

Category {
  id: int;
  name: string;
}

Article {
  id: int;
  title: string;
}

ArticleToCategory {
  id: int;
  categoryId: int;
  articleId: int;
}

我需要创建用于创建文章的端点,并将所创建的文章与现有类别链接,端点的外观如何

1

在一个请求中包含关系

url:POST /articles

请求有效负载:

{
  title: 'Restful api',
  categories: [{ id: 2 }, {id: 5}]
}

响应有效载荷:

{
  id: 3
  title: 'Restful api',
  categories: [{ id: 2, name: 'rest' }, {id: 5, name: 'api'}]
}

url:GET /articles/3 响应负载:

{
  id: 3
  title: 'Restful api',
  categories: [{ id: 2, name: 'rest' }, {id: 5, name: 'api'}]
}

2

分为2个端点

url:POST /articles

请求有效负载:

{
  title: 'Restful api',
}

响应有效载荷:

{
  id: 3
  title: 'Restful api',
}

URL:POST /articles/3/categories为文章添加类别

请求有效负载:

[{ id: 2 }, {id: 5}]

响应有效载荷:

[{ id: 2, name: 'rest' }, {id: 5, name: 'api'}]

url:GET/articles/3 响应有效载荷:

{
  id: 3,
  title: 'Restful api'
}

url:GET /articles/3/categories 响应负载:

[{ id: 2, name: 'rest' }, {id: 5, name: 'api'}]

在获取所有数据后,将其加入应用程序

在为复杂关系创建RESTful CRUD时使用什么方法?

0 个答案:

没有答案