代理 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,、subaudexpnbfiatjti会自动添加到令牌中。 如果在请求中指定这些声明中的任何一个,将忽略你提供的值。

响应:

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 令牌