Зазначимо: коли мікросервісне 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. Зв'яжіться з нами, щоб обговорити ваш проєкт — отримайте безкоштовний аудит поточної архітектури.







