API の公開
ユーザー・インターフェースには、API を製品に追加し、その製品をカタログに公開するオプションが用意されています。 ドラフト製品を公開すると、その製品内の API が 開発者ポータル に表示され、アプリケーション開発者が使用できるようになります。 IBM® API Connect のシンジケーション機能は、カタログで スペース が有効になっている場合、そのカタログ内の スペース にのみ製品を公開できることを意味します。
開始前に
API Manager または API Designer のユーザー・インターフェース (UI) に、ステージング先のカタログがあることを確認します。 詳しくは、 カタログの作成および構成を参照してください。
カタログに 1 つ以上のゲートウェイ・サービスが構成されていることを確認します。
このトピックで説明されている製品管理タスクを実行するには、API プロバイダー組織の所有者であるか、ターゲットのカタログまたは スペースに対する 権限が割り当てられている必要があります。 カタログまたは スペースに対する製品管理権限の構成については、 カタログの作成および構成 または スペースでのユーザー・アクセスの管理を参照してください。
このタスクについて
このタスクは、 API Designer UI アプリケーションを使用するか、ブラウザー・ベースの API Manager UI を使用して実行できます。 API Designer でオフラインで作業している場合、公開は使用できません。
- API Dev Tools Swagger Parser (https://www.npmjs.com/package/@apidevtools/swagger-parser) を使用した、 OpenAPI スキーマに対する妥当性検査。
- IBM 拡張プロパティーに対する検証。
- 意味の検証。以下の種類の検証が行われます。
- API Connect ゲートウェイによって OpenAPI が強制される場合、スキームは HTTPSなければならず、またはヘッダーの API キーセキュリティスキームのパラメータ名は、
X-IBM-Client-IdまたはX-IBM-Client-Secretのいずれかでなければならないことを保証します。 - OpenAPI が API Connect Gatewayによって強制されないようにするには、
ホスト
を指定する必要があります。 - 定義ファイル内のローカル参照 (つまり、
$refプロパティーの値) の参照を解除し、これらがファイル内の有効な JSON ポインターであることを確認します。
- API Connect ゲートウェイによって OpenAPI が強制される場合、スキームは HTTPSなければならず、またはヘッダーの API キーセキュリティスキームのパラメータ名は、
(?」など) を含む 正規表現 を使用する Swagger プロパティーを持つ API を含む製品は、検証も公開もできません。 エラー・メッセージが返されます。 以下に例を示します。Product has not been published!
The multipart 'openapi' field contains an OpenAPI definition with validation errors.
definitions.properties.pattern Does not match format 'regex' (context: (root).definitions.properties.pattern, line: 0, col: 0)
400$ref フィールドを使用して、別のファイルで定義されている OpenAPI コードのフラグメントを参照する場合、 $ref フィールドは、API を含む製品がステージングまたは公開される前に、ターゲット・ファイルの内容で置き換えられます ( $ref フィールドは、 API Connect デベロッパー・ツールキットを使用している場合にのみサポートされます)。 詳しくは、 $ref を使用した OpenAPI ファイル内のコード・フラグメントの再利用を参照してください。手順
結果
製品がカタログに公開されます。 API Managerで、カタログ内の製品の状態を表示できます。 API Designerから製品を公開した場合は、API Designer で使用したのと同じユーザー名とパスワードを使用して API Manager にログインしていることを確認してください。 API Manager UIで
管理をクリックし、必要なカタログを選択します。 製品が、「公開済み」の状態で表示されます。
製品のライフサイクルについては、 製品のライフサイクルを参照してください。
カタログに製品を公開するために承認が必要な場合は、公開の承認要求が送信され、製品が「保留」状態に移行します。この要求が承認されると、製品がカタログに公開されます。 承認が不要である場合、製品は直ちに公開されます。
カタログの製品ライフサイクルの承認の構成については、 カタログの作成および構成を参照してください。 要求の承認については、 製品のライフサイクルとサブスクリプションの要求の承認を参照してください。
製品にプランが含まれていない場合、デフォルト・プランと呼ばれるプランがカタログ内の製品に自動的に追加されます。
- OpenAPI 3 API に応答ワイルドカードが含まれている場合 (これはサポートされません)、その API の公開は無効になります。 API を公開する前に、問題を修正する必要があります。
- このカタログにインポートされていない ユーザー定義ポリシー を含む API が製品に含まれている場合、公開は失敗します。 製品を正常に公開するには、必要なカタログで ユーザー定義ポリシー が使用可能でなければなりません。 ユーザー定義ポリシー をカタログにインポートする方法について詳しくは、 カタログへのユーザー定義ポリシーのインポートを参照してください。