Proxy API
O Dev Proxy vem com uma API da Web que permite que você interaja com o proxy programaticamente. A API está disponível na porta especificada nas configurações de proxy.
Swagger
A API é documentada usando Swagger. Você pode acessar a interface do usuário do Swagger navegando até http://localhost:<apiPort>/swagger
no navegador.
Operações
A lista a seguir mostra as operações de API disponíveis.
GET /proxy
Retorna uma instância de com informações sobre a instância de Proxy de ProxyInfo
Desenvolvimento em execução no momento.
Exemplo: obter informações sobre a instância do Proxy de Desenvolvimento em execução no momento
Pedido:
GET http://localhost:8897/proxy
Resposta:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
Controla a instância do Proxy de Desenvolvimento em execução no momento.
Exemplo: iniciar a gravação
Pedido:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": true
}
Resposta:
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Exemplo: parar a gravação
Pedido:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": false
}
Resposta:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy/raisemockrequest
Levanta um pedido simulado. Equivalente a pressionar w no console onde o Dev Proxy está sendo executado.
Pedido:
POST http://localhost:8897/proxy/raisemockrequest
Resposta:
202 Accepted
POST /proxy/stopproxy
Desliga graciosamente o Dev Proxy.
Pedido:
POST http://localhost:8897/proxy/stopproxy
Resposta:
202 Accepted
POST /proxy/createJwtToken
Gera um token JWT.
Pedido:
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
}
Nota
As declarações registradas (por exemploiss
, sub
aud
, exp
, nbf
, iat
, ) jti
são adicionadas automaticamente ao token. Se você especificar qualquer uma dessas declarações na solicitação, os valores fornecidos serão ignorados.
Resposta:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
Modelos
ProxyInfo
Informações sobre a instância do Dev Proxy em execução no momento.
Propriedade | Type | Description |
---|---|---|
recording |
boolean |
Se o proxy está atualmente gravando solicitações |
configFile |
string |
Caminho para o arquivo de configuração que o Proxy de Desenvolvimento está usando (somente leitura) |
JwtOptions
Opções para gerar um token JWT.
Propriedade | Type | Description |
---|---|---|
name |
string |
O nome do usuário para o qual criar o token |
audience |
string[] |
As audiências para as quais criar o token |
issuer |
string[] |
O emissor do token |
roles |
string[] |
Uma declaração de função a ser adicionada ao token |
scopes |
string[] |
Uma declaração de escopo para adicionar ao token |
claims |
KeyValuePair |
Declarações para adicionar ao token |
validFor |
number |
A duração (em minutos) para a qual o token é válido |
signingKey |
string |
A chave a ser usada para assinar o token. Deve ter pelo menos 32 caracteres. Se não for especificado, usa uma chave gerada aleatoriamente. |
JwtInfo
Informações sobre um token JWT.
Propriedade | Type | Description |
---|---|---|
token |
string |
O token JWT |