OpenAPI - генерировать код сервера для меняющегося API?

Я поддерживаю приложение Java, где мы постоянно добавляем новые функции (изменения в API). Я хочу перейти к использованию OpenAPI как способ документирования API. Я вижу две школы мысли: 1) написать код, использовать некоторые аннотации для генерации спецификации OpenAPI. 2) Напишите OpenAPI, используйте его для генерации некоторого кода сервера.

В то время как и то, и другое выглядит неплохо, код сервера просто заглушается, и тогда потребуется много ручного подключения сервисов. Несмотря на то, что это кажется единовременной платой, в следующий раз, когда я обновляю интерфейс, мне кажется, что единственными двумя вариантами являются: 1) Сгенерируйте их все заново, повторите всю ручную разводку. 2) Отредактируйте вручную сгенерированные ранее классы, чтобы они соответствовали новому файлу спецификаций (что может привести к ошибкам)

Я прав с этими вариантами? Если это так, то кажется, что использование кода для генерации спецификаций API действительно единственный разумный выбор.

0 ответов

Я бы порекомендовал подход API First, где вы описываете свой API в файле yaml и генерируете его с каждым новым дополнением.

Теперь, как вы справляетесь с перезаписью генератора ручной работой? Вы можете использовать наследование для создания моделей и контроллеров на основе сгенерированного кода.

Вы также можете использовать файл.ignore, поставляемый с генератором, чтобы убедиться, что файлы не перезаписываются.

Другие вопросы по тегам