Proxy API
O Dev Proxy vem com uma API Web que permite interagir com o proxy programaticamente. A API está disponível na porta especificada nas configurações de proxy.
Swagger
A API é documentada usando o 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 do ProxyInfo
Dev Proxy em execução no momento.
Exemplo: obter informações sobre a instância do Proxy de Desenvolvimento em execução no momento
Solicitação:
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 gravação
Solicitação:
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
Solicitação:
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
Gera uma solicitação simulada. Equivalente a pressionar w no console em que o Dev Proxy está sendo executado.
Solicitação:
POST http://localhost:8897/proxy/raisemockrequest
Resposta:
202 Accepted
POST /proxy/stopproxy
Desliga normalmente o Dev Proxy.
Solicitação:
POST http://localhost:8897/proxy/stopproxy
Resposta:
202 Accepted
POST /proxy/createJwtToken
Gera um token JWT.
Solicitação:
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
}
Observação
As declarações registradas (por exemplo iss
, , 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 | Descrição |
---|---|---|
recording |
boolean |
Se o proxy está registrando solicitações no momento |
configFile |
string |
Caminho para o arquivo de configuração que o Dev Proxy está usando (somente leitura) |
JwtOptions
Opções para gerar um token JWT.
Propriedade | Type | Descrição |
---|---|---|
name |
string |
O nome do usuário para o qual criar o token |
audience |
string[] |
Os públicos-alvo para os 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 a ser adicionada ao token |
claims |
KeyValuePair |
Declarações a serem adicionadas ao token |
validFor |
number |
A duração (em minutos) pela 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 | Descrição |
---|---|---|
token |
string |
O token JWT |