@springimport

Вложенные или раздельные сущности в API?

Никогда особо не задумывался что API может иметь не только разную реализацию в плане кодов ответа, ошибок и т.д., а и структуры. Речь не о REST API, а больше о командном API.

Пример: клиент. У него могут быть адреса доставки. Логично что без клиента адреса нигде не используются как отдельная сущность. Их вполне можно вкладывать внутрь customer. Другой пример: есть заказы, у них может быть invoice, которые хоть и связаны с заказами, но могут и используются.
Так вот, invoice можно вкладывать в сущность заказа или выделить для них отдельный endpoint (команду).
На SO, например, пишут что каждый должен решить для себя как реализовывать. Если посмотреть на js-фреймы типа react и vue то там даже сделали специальную либу normalize для того чтобы работать с ресурсом без вложенностей. Говорят что это облегчает жизнь.

Какое API предпочитаете вы в это нелегкое время?
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 1
EreminD
@EreminD
Кое-что умею
а не очень понятно, почему они взаимоисключают друг друга

у меня приходит список торговых стратегий с вложенными в них инструментами
при этом, список инструментов доступен отдельно

я мог бы запрашивать отдельно список стратегий, потом для каждоый из них инструмент по idшнику. Это ж больше запросов и по http и в БД

однако у меня есть возможность получить инструменты отдельно и по idшнику и одним списком

тут действительно долго можно размазывать рассуждения и, в конечном итоге, придем к тому же, что и на SO
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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