@KIN1991
Python, PHP developer

Как правильно представить новостной пост с комментариями в REST API?

Добрый день, есть проект на Django rest framework, на этом проекте есть новости с комментариями, вопрос такой как лучше реализовать данный кейс в архитектурном плане, сделать два отдельных метода для получения экземпляра новости, и для получения комментов к ней или же лучше сделать один метод?

Плюс посоветуйте что нибудь прочитать на предмет лучших архитектурных практик в REST API?
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
@luna3956
Новость и комментарий - разные сущности. Сделайте один метод получения новости, например, getNews(id), и метод получения комментариев к новости, например, getNewsComments(id). Чтобы не делать два запроса из клиента, создаете метод getNewsWithComments в котором дергаете getNews(id) и getNewsComments(id) и склеиваете их результаты в такую json-ку и отправляете клиенту
{
  "id": 1,
  "header": "News header",
  "body": "Bla bla bla",
  "comments": {
    "Ivan": "Bad comment",
    "Sara": "Good comment"
  }
}


Плюс посоветуйте что нибудь прочитать на предмет лучших архитектурных практик в REST API?


Не усложняйте. Просто придерживайтесь правила, что каждый метод отвечает за конкретный тип сущности(или коллекцию) и связанную с этим операцию. А в случаях как Ваш, чтобы не делать лишних запросов, создаете метод который создает "гибридную" сущность на основе двух обычных и возвращает по ней информацию.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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