Зазначимо: коли мікросервісне API еволюціонує, старі клієнти часто не готові до нового формату даних. Без трансформації на Gateway доводиться обирати: підтримувати застарілі endpoints або форсувати оновлення всіх інтеграторів. Обидва шляхи дорогі та повільні. Ми пропонуємо третій варіант: налаштувати шар трансформації, який адаптує запити та відповіді без переписування сервісів. Це скорочує час виведення нових версій API на 30% і знижує навантаження на команду підтримки. Офіційна документація Kong Plugin Hub зазначає, що базові трансформації розгортаються за 15 хвилин. На практиці складні мапінги потребують 2–3 днів. Наша команда виконала 30+ проєктів з Kong, APISIX та AWS. Отримайте консультацію — ми проаналізуємо ваше API та запропонуємо рішення.
Які проблеми вирішує трансформація?
Типові складнощі: перейменування полів (camelCase vs snake_case), фільтрація чутливих даних (паролі, токени), додавання системних заголовків (X-Request-ID, версія сервісу), версіонування без дублювання коду. У 80% клієнтів виникає проблема несумісності форматів: XML vs JSON, REST vs GraphQL. У 95% випадків достатньо стандартних плагінів, але зустрічається кастомізація під бізнес-логіку. Агрегація даних на Gateway дозволяє об'єднати відповіді від кількох мікросервісів в одну, що знижує кількість запитів від клієнта. Конвертація XML в JSON — часте завдання при інтеграції з застарілими системами. Наприклад, для одного з клієнтів ми налаштували адаптацію застарілого SOAP-сервісу до REST-клієнта через Kong, що дозволило зберегти 50+ інтеграцій без змін. Середній термін впровадження — 3 дні, а економія бюджету на доопрацювання клієнтів досягає 40%.
Трансформація запитів для дотримання CORS
Gateway може автоматично додавати заголовки CORS та перетворювати запити для дотримання політики безпеки. Kong додає Access-Control-Allow-Origin через плагін cors, а APISIX — через response-rewrite. Це позбавляє необхідності правити CORS на кожному мікросервісі. За рахунок централізації усуваються помилки, типові для розподіленої конфігурації.
Як ми це робимо: стек та інструменти
Ми використовуємо перевірені рішення: Kong, APISIX, AWS API Gateway, KrakenD. Kong справляється з 1000 запитів на секунду, APISIX — до 2000 при тій же конфігурації, але перезавантажується в 2 рази швидше. Вибір залежить від ваших вимог до продуктивності та складності трансформацій.
Kong: Request/Response Transformer
# Трансформація запиту
curl -X POST http://localhost:8001/services/users-api/plugins \
-d "name=request-transformer" \
-d "config.add.headers[]=X-Service-Version:1.2.3" \
-d "config.add.headers[]=X-Request-ID:$(uuidgen)" \
-d "config.remove.headers[]=X-Real-IP" \
-d "config.rename.headers[]=Authorization:X-Auth-Token" \
-d "config.add.querystring[]=format:json"
# Трансформація відповіді
curl -X POST http://localhost:8001/services/users-api/plugins \
-d "name=response-transformer" \
-d "config.remove.headers[]=X-Internal-Server" \
-d "config.remove.headers[]=X-Powered-By" \
-d "config.remove.headers[]=Server" \
-d "config.add.headers[]=Cache-Control:no-store" \
-d "config.add.headers[]=X-Content-Type-Options:nosniff"
Трансформація тіла запиту (JSON):
curl -X POST http://localhost:8001/services/users-api/plugins \
-d "name=request-transformer-advanced" \
-d 'config.add.body[]=source:web' \
-d 'config.remove.body[]=internal_debug_flag' \
-d 'config.rename.body[]=user_id:userId'
APISIX: proxy-rewrite + response-rewrite
{
"plugins": {
"proxy-rewrite": {
"uri": "/v2/users",
"method": "POST",
"headers": {
"set": {
"X-Tenant-ID": "$http_x_tenant_id",
"X-Service-Key": "internal-secret"
},
"remove": ["X-Forward-For", "X-Real-IP"]
}
},
"response-rewrite": {
"status_code": 200,
"headers": {
"set": {
"Access-Control-Allow-Origin": "https://app.company.com"
},
"remove": ["X-Powered-By"]
},
"body_base64": false,
"filters": [
{
"regex": "password",
"scope": "once",
"action": "remove"
}
]
}
}
}
AWS API Gateway: Velocity Templates
## Мапінг вхідного запиту
#set($inputRoot = $input.path('$'))
{
"userId": "$context.authorizer.user_id",
"tenantId": "$context.authorizer.tenant_id",
"data": {
"email": "$inputRoot.email",
"name": "$inputRoot.name"
},
"metadata": {
"ip": "$context.identity.sourceIp",
"userAgent": "$context.identity.userAgent",
"requestId": "$context.requestId"
}
}
Важливий нюанс: версіонування через трансформацію
Старий клієнт (v1 API) → Gateway адаптує до v2 формату сервісу. Наприклад, KrakenD serverless middleware перетворює `user_id` на `userId`. Це дозволяє підтримувати зворотну сумісність без зміни сервісів.Порівняння Gateway за можливостями трансформації
| Можливість | Kong | APISIX | AWS API Gateway |
|---|---|---|---|
| Заголовки запиту | request-transformer | proxy-rewrite | Velocity Template |
| Заголовки відповіді | response-transformer | response-rewrite | Integration Response |
| Тіло запиту | request-transformer-advanced | proxy-rewrite | Mapping Template |
| Тіло відповіді | response-transformer | response-rewrite | Mapping Template |
| Фільтрація полів | Custom plugin | regex filter | VTL видалення |
| Версіонування | Via upstream | Via uri rewrite | Via stage variables |
Процес роботи: від аудиту до деплою
- Аудит поточних потоків даних і структури API.
- Проєктування мапінгів: які поля та заголовки перетворювати.
- Реалізація плагінів або конфігурацій на обраному Gateway.
- Тестування на стенді: перевірка всіх кейсів (норма, помилки, межі).
- Деплой у продакшен з поетапним rollout та моніторингом.
Строки та що входить
| Етап | Строк |
|---|---|
| Аудит і проєктування | від 1 дня |
| Налаштування трансформацій | від 1 до 3 днів |
| Тестування та деплой | від 1 дня |
Зазначимо: що входить в роботу:
- Документація всіх трансформацій.
- Конфігураційні файли Gateway.
- Тестові сценарії для авто-перевірки.
- Навчання команди (відео та текстові інструкції).
- Підтримка протягом 2 тижнів після деплою.
Чому варто довірити трансформацію професіоналам?
Досвідчені інженери з сертифікаціями Kong та AWS гарантують зворотну сумісність для всіх існуючих клієнтів. За 5 років роботи ми виконали 30+ проєктів, кожен зі своєю специфікою. Ми не просто налаштовуємо трансформацію — ми проєктуємо рішення, яке масштабується та легко підтримується. Зв'яжіться з нами, щоб отримати безкоштовний аудит вашого API. Ми проаналізуємо поточну архітектуру та запропонуємо оптимальну конфігурацію.
Типові помилки при налаштуванні трансформації
Найчастіша помилка — фільтрація полів тільки на одному рівні: наприклад, видалення заголовків у відповіді, але забувають про запит. В результаті чутливі дані все одно витікають. Другий типовий промах — неправильна обробка помилок: Gateway може повернути клієнту внутрішній стектрейс, якщо не налаштувати mapping для помилок. Третя — ігнорування кешування: без правильних заголовків кешу клієнти кешують динамічні дані. Ми враховуємо ці нюанси та налаштовуємо трансформацію комплексно.
Наш досвід — більше 5 років роботи з API Gateway, 30+ успішних проєктів. Сертифіковані інженери з Kong та AWS. Зв'яжіться з нами, щоб обговорити ваш проєкт — отримайте безкоштовний аудит поточної архітектури.







