Генерація і підтримка REST API документації сервісів системи
Сторінка технічної документації є баченням майбутньої реалізації, актуальність якого може бути застарілою. |
Загальні положення
-
REST API документація ведеться в форматі OpenAPI Specification
-
Для Java застосунків REST API документація будується автоматично на базі відповідних Swagger анотації в коді
-
Для застосунків які не генерують автоматичну REST API документація, документація формується вручну і зберігається у Git репозиторії сервісу
-
При побудові master/main версії сервісу, формується REST API документація та автоматично вносяться зміни в загальну документацію проєкту (Antora документація)
-
Опис методів, параметрів та відповідей повинен містити розширену інформацію про їх використання
-
Всі методи повинні мати приклади відповідей які будуть максимально наближені до реальних
-
Правила авторизації описуються тільки ті, що реалізовані безпосередньо в сервісі
-
Додатково до правил авторизації сервісу повинно бути посилання на документацію Зовнішнього API-шлюзу операційної зони та Підсистеми управління міжсервісною взаємодією з описом перевірок прав доступу на всіх рівнях
-
В сервісах з автоматичною генерацією REST API документація розгортається додатково з самим сервісом
З переліком сервісів та їх REST API документацією можна ознайомитись на сторінці API документація Платформи |
Автоматичне оновлення документації
-
Файл з REST API документацією може генеруватися автоматично в build пайплайні сервісу чи зберігатися розробником в репозиторії сервісу
-
Файл зберігається в репозиторії сервісу за шляхом docs/<service-name>-swagger.yml, де <service-name> - назва сервісу
-
Для автоматичної генерації файлу використовуються maven plugin в build пайплайні сервісу
Деталі по вибору плагіну та параметрів його налаштування поза скоупом цього документу |
-
Build пайплайн відповідальний за те щоб файл з REST API документацією був опублікований в репозиторій загальної документації проєкту (Antora документація)
-
Файл публікується репозиторій загальної документації проєкту за шляхом docs/ua/modules/arch/attachments/architecture/platform-api/services/<service-name>-swagger.yml, де <service-name> - назва сервісу
-
Генерація файлу та його публікація відбувається тільки при побудові master/main версії сервісу
-
Підключення конкретного файлу з REST API документацією для візуалізації на сторінці документації відбувається вручну 1 раз для кожного сервісу
Обсяг робіт
MVP
-
Створення REST API документації для сервісів, що не мають автогенерації
-
Ручна публікація REST API документації сервісів в загальну документацію проєкту
Full scope
-
Публікація REST API документації сервісів в загальну документацію проєкту автоматично при зміні в master/main гілці
-
Для сервісів, документація яких ведеться вручну, додати файл з REST API документацією в репозиторії сервісу
-
Розширений опис методів, параметрів та відповідей
-
Збагачення REST API документації прикладами відповідей
-
Розширений опис правил авторизації включно з посиланнями на відповідні сторінки Зовнішнього API-шлюзу операційної зони та Підсистеми управління міжсервісною взаємодією