Является ли хорошей практикой включать в ответы REST API вложенные сущности?

Доброй ночи.
Речь идет о таком:
{
    "id": 1,
    "author": {
        "id": 2,
        // more data
     },
     // more nested entities
}

Читал, что это нехорошо. Если так, то почему? Сам предпочитаю отдавать только ID вместо вложенных объектов с данными.

Заранее спасибо.
  • Вопрос задан
  • 364 просмотра
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Я считаю плохой. В худшем случае есть HAL, в лучшем GraphQL
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
На одном уровне будет выглядеть, конечно, проще:
{
    "id": 1,
    "author_id": 2,
    "author_name": "Vasya",
     // more data
}

Но вообще зависит от количества и качества данных. Каждый решает для себя, но лично я думаю, что где-то не более 20 пар ключ-значение на уровень это удобно. То есть если у вас, скажем, 100 пар, то их уже можно раскидывать по категориям.

Или, скажем, если одно из полей является массивом - тогда сам бог велел. Например, так:
{
    "id": 1,
    "authors": [
        { "id": 2, "name": "Vasya" },
        { "id": 3, "name": "Petya" },
     ],
     // more nested entities
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы