開発プロキシには、プログラムでプロキシを操作できる Web API が付属しています。 API は、 proxy 設定で指定されたポートで使用できます。
Swagger
API は Swagger を使用して文書化されています。 ブラウザーで http://localhost:<apiPort>/swagger
に移動すると、Swagger UI にアクセスできます。
操作
次の一覧は、使用可能な 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/jwtToken
JSON Web トークン (JWT) を生成します。
要求:
POST http://localhost:8897/proxy/jwtToken
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
など) がトークンに自動的に追加されます。 要求でこれらの要求のいずれかを指定した場合、API は指定した値を無視します。
応答:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
POST /proxy/mockrequest
モック要求を発生させます。 開発プロキシが実行されているコンソールで w を押すことと同じです。
要求:
POST http://localhost:8897/proxy/mockrequest
応答:
202 Accepted
GET /proxy/rootCertificate?format=crt
DEV Proxy が HTTPS 要求の暗号化を解除するために使用する PEM (プライバシー強化メール) 形式のルート証明書の公開キーをダウンロードします。 この API は、Docker コンテナーで開発プロキシを実行しているときに、ホスト上のルート証明書を信頼する場合に役立ちます。
現時点では、サポートされている唯一の形式は crt
。 他の形式を指定した場合、または書式をまったく指定しない場合、API は 400 Bad Request エラーを返します。
要求:
GET http://localhost:8897/proxy/rootCertificate?format=crt
応答:
content-type: application/x-x509-ca-cert
-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----
POST /proxy/stopproxy
開発プロキシを正常にシャットダウンします。
要求:
POST http://localhost:8897/proxy/stopproxy
応答:
202 Accepted
モデル
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 トークン |
Dev Proxy