5.3. OAS 仕様に関する補足情報
ドキュメントを OAS Petstore のドキュメント のようにする場合は、関連の Petstore swagger.json
ファイルのような Swagger 準拠の仕様を作成する必要があります。この仕様をそのまま使用して、ActiveDocs をテストすることができます。ただし、これは実際の API ではないことに注意してください。
OAS は、JSON でエンコードされたハッシュにマッピングするリソース宣言に依存します。Petstore swagger.json
ファイルをサンプルとして使用し、各オブジェクトについて説明します。
OAS オブジェクト
これは API 仕様のルートドキュメントオブジェクトです。最上位レベルのフィールドをすべてリスト表示します。
ホストは、IP アドレスではなくドメインでなければなりません。3scale は、デベロッパーポータルに対して行われたリクエストをプロキシーとしてホストに中継し、結果をレンダリングします。そのためには、セキュリティー上の理由から、ホスト および basePath エンドポイントが 3scale により承認される必要があります。宣言できるのは、ご自分のホストだけです。API プロバイダーが自身に属さないドメインを中継していることが確認された場合、3scale は API プロバイダーのアカウントを終了する権利を有します。つまり、ローカルホストまたはその他のワイルドカードドメインは機能しません。
info
オブジェクト
info
オブジェクトは API に関するメタデータを提供します。このコンテンツは ActiveDocs ページに提示されます。
paths
オブジェクト
paths
オブジェクトは、個々のエンドポイントへの相対パスを保持します。パスが basePath に追加され、完全な URL となります。アクセス制御リスト (ACL) の制約により、paths
は空になる可能性があります。
オブジェクトではないパラメーターは、プリミティブデータタイプを使用します。Swagger では、プリミティブデータ型は JSON スキーマドラフト 4 でサポートされるタイプに基づきます。プリミティブデータ型には追加の file もありますが、3scale では API エンドポイントで CORS が有効な場合にのみ使用されます。CORS が有効になっていると、アップロードは api-docs ゲートウェイを経由せず、拒否されます。
現在、OAS は以下の dataTypes をサポートしています。
- 整数型フォーマット: int32 および int64。どちらのフォーマットも署名されています。
- 数値型フォーマット: float および double
- プレーン文字列
- 使用できるフォーマットの文字列: バイト、日付、日時、パスワード、およびバイナリー
- boolean