Одна из частых ошибок при проектировании API - это отождествление модели объектов API со схемой БД. Особенно ярко проявляется при работе с REST API, когда аналитик убежден, что каждый HTTP-ресурс - это таблица в БД.



Почему модель данных API может отличаться от модели БД?



1️⃣ Первичная задача при проектировании сущностей и связей в БД - это эффективное хранение данных, обеспечение производительности и стабильности сервис. Такая модель может быть неудобна для потребителей сервиса. Например, БД может иметь ненормализованную форму.



2️⃣ Сервис может использовать нереляционное хранилище. Например, MongoDB для хранения объектов в виде документов.



3️⃣ Сервис может использовать несколько БД для хранения данных. Возможно, из-за легаси. Или мы используем разные хранилища для разных типов данных



4️⃣ Сервис может вообще не иметь своего хранилища, а получать данные из внешних сервисов и систем.



5️⃣ Жесткая связка модели API и схемы БД, потребует большего времени на доработки, если одна из них меняется.



⚠️ Ключевая задача API - это инкапсуляция внутренней логики и модели данных системы.

API должно быть простым и удобным для внешних потребителей, исходя из этого мы должны проектировать объекты и ресурсы, с которыми будут работать сервисы-потребители.



Подписывайтесь на продолжение: @nextway_news