@igor1112

Отношения в RESTful API?

Здравствуйте. Я делаю (пытаюсь) SPA, работающее по REST API. У меня есть сущность Post, которая связана с сущностью Comment (один ко многим), а сущность Comment связана с сущностью Comment_Likes (один ко многим):
Post
id
title
content

Comment
id
content
post_id

Comment_Likes
id
user_id
comment_id

Меня волнует вопрос - когда я делаю Get-запрос по урлу site.com/posts, могу ли я вернуть такое ответ, внутри которого будут содержаться все отношения сразу? -
[{
  "id": "1",
  "title": "First post",
  "content": "Content of first post",
  "comments": [{
    "id": "1",
    "content": "First comment",
    "likes": [{
      "user_id": 1,
      "comment_id": 1
    }]
  }]
}]

Это REST или не REST? И если не REST, то как сделать, чтобы было больше на него похоже? Я читал, что связанне модели должны возвращаться в виде ссылок на этот рессурс. Но это что получается, что вместо того, чтобы сделать один http-запрос мне придётся делать сотню запросов, чтобы мой сервис больше был похож на Restful?
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Senior Notepad Reader
Ну огромная же куча статей в интернете на эту тему, например: https://habr.com/ru/company/hexlet/blog/274675/

А тот вопрос что вы задаёте относится к проектированию API и тут уже придётся сломать об этот камень огромную тучу копий. Делайте как это будет удобнее использовать. С другой стороны одну из этих проблем решают OData, Protobuf\GData, RAML, GraphQL и прочие надстройки над REST.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы