🚩Ошибка при проектировании REST API.
❌ Жестко привязывать параметры API к модели данных в БД.
✅ Упростить API, передавая минимально необходимый набор параметров, а дополнительную логику и преобразования делать на уровне логики сервиса.
Пример: добавление новой позиции в заказ с пересчётом суммы заказа.
1️⃣ В API передаем только параметры новой позиции, не нужно заранее рассчитывать новую сумму на фронте и передавать её на вход.
2️⃣ Сервис при получении такого запроса выполняет в одной транзакции 2 операции:
- Добавляет новую запись в таблицу позиций заказа;
- Обновляет сумму заказа в таблице заказов.
Системный анализ | Дмитрий Помаскин
Post #142
845