API — це продукт, а не “JSON якось віддамо”
Коли API росте, основний ризик — регресії і несумісні зміни. Контрактний підхід дозволяє релізити швидко і без інцидентів.
1) Валідація
- Схеми запиту/відповіді як джерело правди.
- Чіткі коди помилок і поля для UI.
2) Версіонування
Сумісні зміни — за замовчуванням. Несумісні — через v2/v3 або нові ендпоїнти. Важливо мати план міграції клієнтів.
3) Ідемпотентність
Платежі, створення заявок, інтеграції — все має витримувати повтор. Idempotency keys + дедуп — база надійності.
4) Guardrails
Rate limiting, timeouts, circuit breakers для зовнішніх залежностей. Це зменшує каскадні фейли.
Підсумок
Сильний backend стек — це контрактність і контроль змін: валідація, версії, ідемпотентність і захисні механізми.