開發 Proxy 隨附 Web API,可讓您以程式設計方式與 Proxy 互動。 API 可在 Proxy 設定中指定的埠上使用。
Swagger
API 會使用 Swagger 記錄。 您可以在瀏覽器中瀏覽至 來 http://localhost:<apiPort>/swagger 存取 Swagger UI。
Operations
下列清單顯示可用的 API 作業。
GET /proxy
傳回的實例 ProxyInfo ,其中包含目前執行中 Dev Proxy 實例的相關信息。
範例:取得目前執行中開發 Proxy 實例的相關信息
要求:
GET http://localhost:8897/proxy
回應:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
控制目前執行中的 Dev 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
}
注意
已註冊的宣告(例如,、isssub、、aud、exp、iatnbf、jti) 會自動新增至令牌。 如果您在要求中指定上述任何宣告,API 會忽略您提供的值。
回應:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
POST /proxy/mockrequest
引發模擬要求。 相當於在執行Dev Proxy的控制台中按 w 。
要求:
POST http://localhost:8897/proxy/mockrequest
回應:
202 Accepted
GET /proxy/rootCertificate?format=crt
下載開發 Proxy 用來解密 HTTPS 要求之 PEM(隱私權增強郵件)格式之跟證書的公鑰。 當您想要在 Docker 容器中執行 Dev Proxy 時信任主機上的跟證書時,此 API 會很有説明。
目前,唯一支援的格式是 crt。 如果您指定任何其他格式或完全未指定格式,API 會傳回 400 錯誤的要求錯誤。
要求:
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
正常關閉開發 Proxy。
要求:
POST http://localhost:8897/proxy/stopproxy
回應:
202 Accepted
模型
ProxyInfo
目前執行之 Dev Proxy 實例的相關信息。
| 屬性 | 類型 | 描述 |
|---|---|---|
recording |
boolean |
Proxy 目前是否正在錄製要求 |
configFile |
string |
開發 Proxy 所使用的組態檔路徑 (唯讀) |
JwtOptions
產生 JWT 令牌的選項。
| 屬性 | 類型 | 描述 |
|---|---|---|
name |
string |
要為其建立令牌的用戶名稱 |
audience |
string[] |
要為其建立令牌的物件 |
issuer |
string[] |
令牌的簽發者 |
roles |
string[] |
要新增至令牌的角色宣告 |
scopes |
string[] |
要新增至令牌的範圍宣告 |
claims |
KeyValuePair |
要新增至令牌的宣告 |
validFor |
number |
權杖有效持續時間 (以分鐘為單位) |
signingKey |
string |
用來簽署令牌的金鑰。 長度必須至少為32個字元。 如果未指定,請使用隨機產生的索引鍵。 |
JwtInfo
JWT 令牌的相關信息。
| 屬性 | 類型 | 描述 |
|---|---|---|
token |
string |
JWT 令牌 |