OpenAPI プロキシの使用

GitBook はプロキシできます テストする リクエストは、API サーバーが CORS をサポートしていない場合でも動作するようにします。

これが存在する理由

ブラウザは、API サーバーが CORS ヘッダーで許可しない限りクロスオリジンリクエストをブロックします。CORS が構成されていないと、 テストする リクエストはブラウザで失敗します。プロキシはそれらのリクエストを GitBook を経由してサーバー側でルーティングし、その制限を回避します。

スペック全体でプロキシを有効にする

次を追加します x-enable-proxy: true を OpenAPI スペックのルートに追加します。

openapi: '3.0.3'
x-enable-proxy: true
info:
  title: Example API
  version: '1.0.0'
servers:
  - url: https://api.example.com

特定のオペレーションで有効または無効にする

次を追加します x-enable-proxy をオペレーションに設定します。

openapi: '3.0.3'
info:
  title: Example API
  version: '1.0.0'
servers:
  - url: https://api.example.com
paths:
  /reports:
    get:
      summary: レポート一覧
      x-enable-proxy: true
      responses:
        '200':
          description: OK
    post:
      summary: レポート作成
      x-enable-proxy: false
      responses:
        '201':
          description: Created
circle-info

オペレーションレベルの設定は x-enable-proxy ルートレベルの値より優先されます。

プロキシがサポートするもの

GitBook はすべての HTTP メソッド(GET, POST, PUT, DELETE, PATCH)、ヘッダー、クッキー、およびリクエストボディを転送します。

セキュリティ

プロキシはスペックの servers 配列に記載された URL にのみリクエストを転送します。任意の URL には到達できません。

circle-info

必ず servers 配列にテストしたいすべてのベース URL を含めてください。URL が記載されていない場合、 テストする そのホストへのリクエストはプロキシをバイパスします。

最終更新

役に立ちましたか?