Compartilhar via


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, ) jtisã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