次の方法で共有


プロキシ API

開発プロキシには、プログラムでプロキシを操作できる Web API が付属しています。 API は、プロキシ設定で指定されたポートで使用できます。

Swagger

API は Swagger を使用して文書化されています。 ブラウザーに移動して Swagger UI に http://localhost:<apiPort>/swagger アクセスできます。

操作

次の一覧は、使用可能な API 操作を示しています。

GET /proxy

現在実行中の開発プロキシ インスタンスに ProxyInfo 関する情報を含むインスタンスを返します。

例: 現在実行中の開発プロキシ インスタンスに関する情報を取得する

要求:

GET http://localhost:8897/proxy

応答:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy

現在実行中の開発プロキシ インスタンスを制御します。

例: 記録を開始する

要求:

POST http://localhost:8897/proxy
content-type: application/json

{
  "recording": true
}

応答:

200 OK

{
  "recording": true,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

例: 記録を停止する

要求:

POST http://localhost:8897/proxy
content-type: application/json

{
  "recording": false
}

応答:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy/raisemockrequest

モック要求を発生させます。 開発プロキシが実行されているコンソールで w キーを押すのと同じです。

要求:

POST http://localhost:8897/proxy/raisemockrequest

応答:

202 Accepted

POST /proxy/stopproxy

開発プロキシを正常にシャットダウンします。

要求:

POST http://localhost:8897/proxy/stopproxy

応答:

202 Accepted

POST /proxy/createJwtToken

JWT トークンを生成します。

要求:

POST http://localhost:8897/proxy/createJwtToken
Content-Type: application/json

{
    "name": "Dev Proxy",
    "audiences": [
        "https://myserver.com"
    ],
    "issuer": "dev-proxy",
    "roles": [
        "admin"
    ],
    "scopes": [
        "Post.Read",
        "Post.Write"
    ],
    "claims": {
        "claim1": "value",
        "claim2": "value"
    },
    "validFor": 60
}

Note

登録された要求 (例: iss, sub, aud, exp, nbf, iat, jti) がトークンに自動的に追加されます。 要求でこれらの要求のいずれかを指定した場合、指定した値は無視されます。

応答:

200 OK

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}

モデル

ProxyInfo

現在実行中の開発プロキシ インスタンスに関する情報。

プロパティ タイプ 説明
recording boolean プロキシが現在要求を記録しているかどうか
configFile string 開発プロキシが使用している構成ファイルへのパス (読み取り専用)

JwtOptions

JWT トークンを生成するためのオプション。

プロパティ タイプ 説明
name string トークンを作成するユーザーの名前
audience string[] トークンを作成する対象ユーザー
issuer string[] トークンの発行者
roles string[] トークンに追加するロール要求
scopes string[] トークンに追加するスコープ要求
claims KeyValuePair トークンに追加する要求
validFor number トークンが有効な期間 (分単位)
signingKey string トークンの署名に使用するキー。 32 文字以上にする必要があります。 指定しない場合は、ランダムに生成されたキーを使用します。

JwtInfo

JWT トークンに関する情報。

プロパティ タイプ 説明
token string JWT トークン