Налаштування трансформації API-запитів: Kong, APISIX, AWS

Коли ваше API розвивається, старі клієнти часто не готові до нових форматів даних, і підтримка застарілих endpoints стає дорогою. Ми налаштовуємо шар трансформації запитів і відповідей на API Gateway, який адаптує дані без переписування сервісів. Наша команда реалізує проєкт під ключ — від аудиту до впровадження та подальшої підтримки, забезпечуючи стабільну роботу й масштабування разом із бізнесом.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування трансформації API-запитів: Kong, APISIX, AWS
Середній
~2-3 дні
Часті запитання

Зазначимо: коли мікросервісне 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

Процес роботи: від аудиту до деплою

  1. Аудит поточних потоків даних і структури API.
  2. Проєктування мапінгів: які поля та заголовки перетворювати.
  3. Реалізація плагінів або конфігурацій на обраному Gateway.
  4. Тестування на стенді: перевірка всіх кейсів (норма, помилки, межі).
  5. Деплой у продакшен з поетапним rollout та моніторингом.

Строки та що входить

Етап Строк
Аудит і проєктування від 1 дня
Налаштування трансформацій від 1 до 3 днів
Тестування та деплой від 1 дня

Зазначимо: що входить в роботу:

  • Документація всіх трансформацій.
  • Конфігураційні файли Gateway.
  • Тестові сценарії для авто-перевірки.
  • Навчання команди (відео та текстові інструкції).
  • Підтримка протягом 2 тижнів після деплою.

Чому варто довірити трансформацію професіоналам?

Досвідчені інженери з сертифікаціями Kong та AWS гарантують зворотну сумісність для всіх існуючих клієнтів. За 5 років роботи ми виконали 30+ проєктів, кожен зі своєю специфікою. Ми не просто налаштовуємо трансформацію — ми проєктуємо рішення, яке масштабується та легко підтримується. Зв'яжіться з нами, щоб отримати аудит вашого API. Ми проаналізуємо поточну архітектуру та запропонуємо оптимальну конфігурацію.

Типові помилки при налаштуванні трансформації

Найчастіша помилка — фільтрація полів тільки на одному рівні: наприклад, видалення заголовків у відповіді, але забувають про запит. В результаті чутливі дані все одно витікають. Другий типовий промах — неправильна обробка помилок: Gateway може повернути клієнту внутрішній стектрейс, якщо не налаштувати mapping для помилок. Третя — ігнорування кешування: без правильних заголовків кешу клієнти кешують динамічні дані. Ми враховуємо ці нюанси та налаштовуємо трансформацію комплексно.

Наш досвід — більше 5 років роботи з API Gateway, 30+ успішних проєктів. Сертифіковані інженери з Kong та AWS. Зв'яжіться з нами, щоб обговорити ваш проєкт — отримайте аудит поточної архітектури.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060