11. マイグレーションガイド

本章では、API Gateway の以前のバージョンからの API の変更点や移行方法について説明します。

11.1. ver 6.5.0 → 7.0.0 での変更点

11.1.1. テンプレート記法

テンプレートに引き渡される Model に以下のキーを追加しました。

  • request.tenantId : テナントID
  • request.tenantName : テナント名

詳細は テンプレート記法 を参照してください。

11.1.2. x-auth-appkey ベンダ拡張

Swagger ベンダ拡張に、x-auth-appkey を追加しました。 アプリケーションキー認証を無効化することが可能になります。

11.2. ver 6.0.0 → 6.5.0 での変更点

11.2.1. デベロッパーコンソール: API 定義編集機能追加

ブラウザを使用してデベロッパーコンソール上で直接 API 定義(Swagger定義)の 投入・編集・削除が行えるようになりました。

11.2.2. JSON Patch / JSON Merge Patch 対応

HTTP リクエスト/レスポンスボディ内の JSON を JSON Patch (RFC 6902), JSON Merge Patch (RFC 7386) で 書き換えできるようになりました。

詳細は ボディ変換規則 を参照してください。

11.2.3. RabbitMQ ボディ変換対応

RabbitMQ についても HTTP と同様ボディの変換が行えるようになりました。 詳細は ボディ変換規則 を参照してください。

11.2.4. テンプレート記法

テンプレートに引き渡される Model に以下のキーを追加しました。

  • request.sessionToken : セッショントークンの値

詳細は テンプレート記法 を参照してください。

11.2.5. HTTP Proxy 時の URI 相対パス記法追加

HTTP Proxy の x-proxy に、relativePath 記法を追加しました。 詳細は x-proxy を参照してください。

転送先サーバ URI を相対パスで指定できるようになっています。

11.2.6. HTTP Proxy 大容量データ転送時の効率改善

従来の実装では、API Gateway (HTTP Proxy) でデータを転送する際、データ(HTTP Body)を一旦メモリ上に すべてロードしてから転送を実施するようになっていました(Store and Forward方式)。 このため、データが大容量の場合はメモリの消費量が多くなっていました。

本バージョンでは、データを無変換で転送する場合はメモリ上にデータをロードせず、 ストリームのまま転送するように改善しました。

注意

ボディ変換規則(template/jsonPatch/jsonMergeなど)を使用する場合は、従来どおり メモリ上にデータをすべてロードしてから変換する動作となりますので、注意してください。