Средний
Что такое подходы Design-First и Code-First при разработке API?
Design-First (Сначала проектирование):
Аналитик пишет контракт API в формате OpenAPI (YAML). Этот файл согласовывается с фронтендом и бэкендом. Затем фронтенд пишет UI по мокам, а бэкенд пишет код, реализующий этот контракт.
✅ Плюс: Параллельная работа команд, контракт продуман до мелочей.
Code-First (Сначала код):
Бэкендер пишет код (контроллеры на Java/C#), расставляет аннотации, и фреймворк (например, Springfox) автоматически генерирует Swagger UI.
✅ Плюс: Документация всегда актуальна и совпадает с кодом.
❌ Минус: Фронтенд ждет, пока бэкенд напишет код. API часто получается "корявым", так как диктуется структурой БД, а не нуждами клиента.