代理 API
开发代理附带一个 Web API,可用于以编程方式与代理交互。 API 在代理设置中指定的端口上可用。
Swagger
API 使用 Swagger 进行记录。 可以通过在浏览器中导航到 http://localhost:<apiPort>/swagger
Swagger UI 来访问 Swagger UI。
Operations
以下列表显示了可用的 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
}
注意
已注册的声明(例如iss
,、sub
、aud
exp
、nbf
、iat
)jti
会自动添加到令牌中。 如果在请求中指定这些声明中的任何一个,将忽略你提供的值。
响应:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
模型
ProxyInfo
有关当前正在运行的开发代理实例的信息。
properties | 类型 | 描述 |
---|---|---|
recording |
boolean |
代理当前是否正在记录请求 |
configFile |
string |
开发代理正在使用的配置文件的路径(只读) |
JwtOptions
用于生成 JWT 令牌的选项。
properties | 类型 | 描述 |
---|---|---|
name |
string |
要为其创建令牌的用户的名称 |
audience |
string[] |
要为其创建令牌的受众 |
issuer |
string[] |
令牌的颁发者 |
roles |
string[] |
要添加到令牌的角色声明 |
scopes |
string[] |
要添加到令牌的范围声明 |
claims |
KeyValuePair |
要添加到令牌的声明 |
validFor |
number |
令牌有效的持续时间(以分钟为单位) |
signingKey |
string |
用于对令牌进行签名的密钥。 长度必须至少为 32 个字符。 如果未指定,请使用随机生成的密钥。 |
JwtInfo
有关 JWT 令牌的信息。
properties | 类型 | 描述 |
---|---|---|
token |
string |
JWT 令牌 |