Структура маршрутів зовнішнього Kong API Gateway
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
Клієнтські додатки, які використовуються в системі, взаємодіють з сервісами, що надають доступ до фунционалу платформи за допомогою REST API. Даний документ містить інформацію про загальні положення при формуванні зовнішніх точок доступ та перелік доступних для використання методів.
1. Загальні положення
-
Усі зовнішні ендпоінти викликаються через Kong API Gateway
-
Усі виклики API повинні мати авторизаційний токен (зберігається в сессії Kong)
-
Система має 3 домену для кожної з підсистем та окремий на кожен адміністративний сервіс:
-
officer-portal
-
citizen-portal
-
admin-portal
-
-
Доступ до окремого ресурсу з кожного з кабінетів повинен бути доступний за відносним шляхом за наступним правилом та починатись з префіксу /api. Наприклад /api/forms для доступу до опису форм
-
Ресурси в API Gateway повинні бути зареєстровані в множині (/api/forms - /api/form)
-
Шлях до ендпоінтів не повинен містить ім’я сервісу, якому належить той, чи інший ресурс (/api/forms - /api/form-management)
-
Кожен окремий роут за замовчуванням надає доступ до всіх ресурсів цільового сервісу, що задовільняють вказаному патерну. Наприклад, ендпоінт /api/tasks надає в тому числі до методу POST /api/tasks/{id}/complete
2. Перелік ендпоінтів в системі (to be)
Route name | Route host | Route path | Service name | Service Path |
---|---|---|---|---|
admin-portal-home |
admin-portal |
/home |
admin-portal |
/home |
admin-portal-root |
admin-portal |
/ |
admin-portal |
/ |
admin-portal-logout |
admin-portal |
/logout |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/logout |
admin-portal-userinfo |
admin-portal |
/api/userinfo |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/userinfo |
admin-portal-forms |
admin-portal |
/api/forms |
form-management-modeler |
/ |
citizen-portal-home |
citizen-portal |
/home |
citizen-portal |
/home |
citizen-portal-root |
citizen-portal |
/ |
citizen-portal |
/ |
citizen-portal-logout |
citizen-portal |
/logout |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/logout |
citizen-portal-userinfo |
citizen-portal |
/api/userinfo |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/userinfo |
citizen-portal-forms |
citizen-portal |
/api/forms |
form-management-provider |
/ |
citizen-portal-documents |
citizen-portal |
/api/documents |
digital-documents |
/api/documents |
citizen-portal-tasks |
citizen-portal |
/api/tasks |
user-task-management |
/api/citizen/tasks |
citizen-portal-process-instances |
citizen-portal |
/api/process-instances |
user-process-management |
/api/citizen/process-instances |
citizen-portal-process-definitions |
citizen-portal |
/api/process-definitions |
user-process-management |
/api/citizen/process-definitions |
citizen-portal-history-process-instances |
citizen-portal |
/api/history/process-instances |
user-process-management |
/api/citizen/history/process-instances |
citizen-portal-registry |
citizen-portal |
/api/registry |
registry-rest-api |
/ |
citizen-portal-user-settings |
citizen-portal |
/api/user-settings |
user-settings-service-api |
/settings |
officer-portal-home |
officer-portal |
/home |
officer-portal |
/home |
officer-portal-root |
officer-portal |
/ |
officer-portal |
/ |
officer-portal-redash |
officer-portal |
/reports |
redash-viewer |
/ |
officer-portal-logout |
officer-portal |
/logout |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/logout |
officer-portal-userinfo |
officer-portal |
/api/userinfo |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/userinfo |
officer-portal-forms |
officer-portal |
/api/forms |
form-management-provider |
/ |
officer-portal-documents |
officer-portal |
/api/documents |
officer-documents |
/api/documents |
officer-portal-tasks |
officer-portal |
/api/tasks |
user-task-management |
/api/officer/tasks |
officer-portal-process-instances |
officer-portal |
/api/process-instances |
user-process-management |
/api/officer/process-instances |
officer-portal-history-process-instances |
officer-portal |
/api/history/process-instances |
user-process-management |
/api/officer/history/process-instances |
officer-portal-process-definitions |
officer-portal |
/api/process-definitions |
user-process-management |
/api/officer/process-definitions |
officer-portal-history-process-instances |
officer-portal |
/api/history/process-instances |
user-process-management |
/api/officer/history/process-instances |
officer-portal-registry |
officer-portal |
/api/registry |
registry-rest-api |
/ |
-
Перелік не містить системних роутів (наприклад, kong-proxy)
-
Перелік не містить прямих роутів для сервісів, що використовуються на оточеннях розробників
-
Розділ хост в таблиці спрощений та не містить імені проекту та dns wildcard (admin-portal → admin-portal.<openshift-project-name>.<dns-wildcard>)