Этот репозиторий представляет собой пример использования oapi-codegen и asyncapi-generator для генерации кода на Go на основе спецификаций OpenAPI и AsyncAPI.
Процесс кодогенерации инкапсулирован в Docker для обеспечения консистентности и избежания проблем с зависимостями в локальном окружении.
makedocker
Для генерации кода используются следующие команды:
make generate: Запускает все таски для генерации кода (клиент, сервер и асинхронный API).make generate-server: Генерирует только серверный код на основе спецификаций*.openapi.yamlиз директорииapi/.make generate-client: Генерирует только клиентский код на основе спецификаций*.openapi.yamlиз директорииapi/.make clean: Удаляет все сгенерированные файлы из директорииexternal/.make regen: Выполняет очистку и полную перегенерацию всего кода.
api/: Содержит файлы спецификаций OpenAPI (.openapi.yaml).codegen/: СодержитDockerfileдля создания Docker-образа, используемого в процессе генерации кода.external/: Директория для сгенерированного кода. Этот каталог можно безопасно удалять и создавать заново.oapi-config/: Содержит файлы конфигурации дляoapi-codegen.Makefile: Определяет основные команды для работы с проектом.go.mod/go.sum: Файлы управления зависимостями Go.