api_schema_requirements.md
March 2, 2021 · View on GitHub
Правила по написанию файлов документации
1. Cтруктура
index.yaml - Основной файл описания api.
В нем описываются все методы апи, а также подключаются компоненты из других файлов.
1.1 Версионирование
Для версиоинирования каждую версию api нужно описать в отдельной папке: v1, v2 и так далее.
В каждой папке должен быть свой собственный index.yaml: пример.
Если директории с версиями отсутствуют index.yaml считается первой версией апи.
2. Правила генерации
- Dto-модели генерируются из компонентов описанных в
#/components/schemasили подключенных через $ref в индексном файле. Название класса Dto-модели будет соответствовать названию из спецификации; - Для названия компонентов отвечающих за request/response нужно в конце добавлять префикс Request/Response;
- В описании каждого эндпоинта обязательно нужно указывать tags - для группировки методов и operationId - для генерации логичных названий у методов;
- Подключение моделей между файлами можно организовать через Remote Reference: https://swagger.io/docs/specification/using-ref/ Пункт '$ref Syntax'
- Для описания enum используем расширение openapi-generator;
- В
#/components/schemasдопустимо выносить модели, которые нигде не используются, но хотелось бы получить при генерации под них класс.