REST ステップでの OpenAPI サポート
利点
REST ステップでの OpenAPI サポートには、次のようなメリットがあります。
- OpenAPI 仕様からインポートした情報を使用して、REST ステップ操作、HTTP メソッド、パラメーター、要求本文、パス、およびヘッダーを構成します。
- Flow Designer インターフェイスを離れずに利用可能な API 操作を確認します。
- 有効な要求を OpenAPI サービスに送信するために REST ステップに必要な入力を生成し、REST ステップの正しい場所に追加します。
生成された入力
OpenAPI 仕様をインポートすると、必要な入力がシステムによって作成され、必要に応じて REST ステップフォームに追加されます。実行時に、システムはアクションに提供された入力値を含む REST 要求を送信します。たとえば、API が要求で渡される name パラメーターを必要とする場合、システムは name 入力を作成し、それを REST ステップに追加します。アクションをフローに追加すると、name がアクションへの入力になります。
OpenAPI データタイプが フローデザイナー データタイプにマップされます。たとえば、OpenAPI 仕様でユーザーオブジェクトが必要な場合、システムは複雑なデータオブジェクトを入力として作成します。詳細については「複合データ」を参照してください。
仕様サイズの制限
デフォルトでは、システムは最大 10 MB の OpenAPI 仕様をインポートできます。インポートサイズを増やすには、glide.rest.openapi.max_request_size システムプロパティを更新します。最大値は 100 MB です。
仕様の管理
REST ステップでオプションを選択して、OpenAPI 仕様をインポートします。詳細については、「REST ステップ」を参照してください。OpenAPI 仕様をインポートすると、OpenAPI [sys_openapi] テーブルにレコードが作成されます。このテーブルから仕様レコードを直接表示または削除できます。仕様を更新するには、仕様を削除して再度インポートします。
デザインの検討
これらの考慮事項に注意して、OpenAPI 仕様から REST ステップを作成します。
- 不要な REST ステップパラメーターを削除する
- 入力ラベルを分かりやすいものにする
- REST ステップに必要な入力ラベルが明確でわかりやすいものであることを確認してください。クリアラベルを使用すると、Flow Designer は、フローでアクションを使用するときに必要な入力を簡単に理解できます。
- Flow Designer の設定を必要としない入力を削除する
- OpenAPI 仕様をインポートする際は、システムは仕様にあるするすべての入力をアクション入力セクションに追加します。Flow Designer が設定する必要のない入力を削除するたとえば、REST ステップ変数がアクションの別のステップから値を受け取る場合、アクションの入力は必要ありません。
- API 操作の変更を避ける
- [API 操作] フィールドの値を変更すると、その操作に依存するすべての値が削除されます。REST ステップフォームで OpenAPI 仕様の値を設定してから操作を変更すると、設定は保存されません。ユーザーが手動で入力した値は影響を受けません。
制限事項
これらの制限事項により OpenAPI 仕様から REST ステップを作成します。
- 要求本文メディアタイプ
- 要求本文は、JSON および XML ベースのメディアタイプのみをサポートしています。インポートされた OpenAPI 仕様から選択された操作に異なるメディアタイプの要求本文が含まれている場合、システムはタイプ文字列のデータピルを [要求本文] フィールドに追加します。
- OpenAPI 3.0 コンポーネント
OpenAPI 3.0 では、API をさらに詳細に記述するための新しいコンポーネントが Swagger 2.0 に追加されています。REST ステップの OpenAPI サポートは、これらのコンポーネントの一部をサポートしていますが、すべてをサポートしているわけではありません。現在、REST ステップはこれらのコンポーネントをサポートしていません。
- スキーマオブジェクト:oneOf、anyOf プロパティ
- 識別子オブジェクト
- 情報オブジェクト:termsOfService、連絡先、ライセンスフィールド
- サンプルオブジェクト
- リンクオブジェクト
- コールバックオブジェクト
- セキュリティスキームオブジェクト
- セキュリティ要件オブジェクト
- タグオブジェクト
- 外部ドキュメントオブジェクト
- サーバーオブジェクト
- 仕様拡張
- 再帰参照
これらのコンポーネントの詳細については、OpenAPI ドキュメントを参照してください。「OpenAPI 仕様」を参照してください。