[解決済み] Swagger UIでリクエストと一緒にカスタムヘッダを送信するにはどうすればよいですか?
質問
APIにいくつかのエンドポイントを持っています。
/user/login
,
/products
.
Swagger UIでは
email
と
password
から
/user/login
を受信し、その応答として
token
の文字列が表示されます。
そして、レスポンスからトークンをコピーして、それを
Authorization
ヘッダの値として使用することができます。
/products
を例として挙げます。
Swagger UIページのどこかに手動でテキスト入力を作成し、そこにトークンを置いて、何とかリクエストに注入すべきでしょうか、それとももっと良い方法でそれを管理するツールがあるのでしょうか?
どのように解決するのですか?
リクエストにヘッダーパラメータを追加すると、Swagger-UIはそれを編集可能なテキストボックスとして表示します。
swagger: "2.0"
info:
version: 1.0.0
title: TaxBlaster
host: taxblaster.com
basePath: /api
schemes:
- http
paths:
/taxFilings/{id}:
get:
parameters:
- name: id
in: path
description: ID of the requested TaxFiling
required: true
type: string
- name: auth
in: header
description: an authorization header
required: true
type: string
responses:
200:
description: Successful response, with a representation of the Tax Filing.
schema:
$ref: "#/definitions/TaxFilingObject"
404:
description: The requested tax filing was not found.
definitions:
TaxFilingObject:
type: object
description: An individual Tax Filing record.
properties:
filingID:
type: string
year:
type: string
period:
type: integer
currency:
type: string
taxpayer:
type: object
また、セキュリティの定義に、タイプ
apiKey
:
swagger: "2.0"
info:
version: 1.0.0
title: TaxBlaster
host: taxblaster.com
basePath: /api
schemes:
- http
securityDefinitions:
api_key:
type: apiKey
name: api_key
in: header
description: Requests should pass an api_key header.
security:
- api_key: []
paths:
/taxFilings/{id}:
get:
parameters:
- name: id
in: path
description: ID of the requested TaxFiling
required: true
type: string
responses:
200:
description: Successful response, with a representation of the Tax Filing.
schema:
$ref: "#/definitions/TaxFilingObject"
404:
description: The requested tax filing was not found.
definitions:
TaxFilingObject:
type: object
description: An individual Tax Filing record.
properties:
filingID:
type: string
year:
type: string
period:
type: integer
currency:
type: string
taxpayer:
type: object
は
securityDefinitions
オブジェクトは、セキュリティスキームを定義します。
は
security
オブジェクト (Swagger-OpenAPI では "security requirements" と呼ばれます) は、与えられたコンテキストにセキュリティスキームを適用します。 私たちの場合、トップレベルでセキュリティ要件を宣言することで、API全体に適用しています。 オプションとして、個々のパスアイテムおよび/またはメソッド内でそれをオーバーライドすることができます。
これは、セキュリティスキームを指定するための好ましい方法であり、最初の例からのヘッダーパラメータを置き換えるものでしょう。残念ながら、Swagger-UIは、少なくともこれまでの私のテストでは、このパラメータを制御するためのテキストボックスを提供していません。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン