Comandos REST-API através do Visual Studio Code e do Thunder Client
1. Introdução
Este guia mostra como enviar comandos HTTP para um cliente REST-API usando o plug-in Thunder Client no Visual Studio Code.
2. Plug-in do Visual Studio Code "Cliente Thunder"
Atenção:
Em princípio, nenhuma das acções pode ser anulada ao longo do plug-in.
As alterações só são válidas depois de guardadas (CTRL + S).
2.1. Instalação Plug-In

Clique no separador "Extensões" no lado esquerdo e procure por "Thunder Client".
Clique no botão azul "Instalar" para instalar a extensão, que também aparecerá como um separador separado no lado esquerdo.
Se o separador do Thunder Client não aparecer, isso deve-se ao modo restrito ao reiniciar:
Clique no campo Modo restrito e, em seguida, confirme em "Confiar"
2.2. Utilização

- Lista de comandos recentes
- Biblioteca de comandos: Colecções
Os comandos predefinidos podem ser importados ou exportados para pacotes aqui.

Atenção: A versão gratuita só pode conter 50 comandos por coleção.
- Tipo de comando: GET, POST, DELETE, etc.

- Personalização do cabeçalho
Podem ser adicionadas informações adicionais de cabeçalho ao campo livre:
Exemplo: Enviar cookie nas informações do cabeçalho:
- Autenticação
Podem ser acrescentadas aqui informações adicionais sobre diferentes métodos de autenticação
Ex: Bearer Token
Ex: Basic Authetification
É transmitido no cabeçalho no formato usaername:password no formato Base64.
Atenção: não pode ser utilizado para o início de sessão do utilizador!
- Informações do corpo com diferentes formatos de dados

Envio de ficheiros:
- Envio do comando
- Resposta ao comando
Eis um exemplo da resposta a um processo de início de sessão.
1. Resposta direta:
2. Informações de cabeçalho
3. Cookies (separados):
4. Analisar pedido:
3. Variáveis
Existem três tipos de variáveis:
Variáveis de caminho: {{variable}}
Variáveis de ambiente: {{variable}}
Variáveis de sistema: {{#Variable}}
As variáveis de ambiente podem ser definidas no separador Env.
Exemplo: Iniciar sessão com variáveis de ambiente
- Iniciar sessão e recuperar o token de portador

- Personalizar a variável de ambiente:

Atenção: Não se esqueça de guardar! - Utilizar a variável no comando POST:

Atenção:
Os valores das variáveis são atribuídos em sequência.
Se uma variável existir mais do que uma vez (sem verificação do editor!), é sempre atribuído o valor da variável mais baixa,
Exemplo: Aqui é atribuído à variável PortNumber o valor 1.
3.1. Variáveis de trajetória
As variáveis de caminho são apresentadas entre uma única chaveta.
Estas podem ser atribuídas a um comando no separador Query.

3.2. Variáveis de ambiente
As variáveis de ambiente podem ser definidas no separador Env.
Exemplo: Iniciar sessão com variáveis de ambiente
- Iniciar sessão e obter o Token de portador

- Personalizar a variável de ambiente:

Atenção: Não se esqueça de guardar! - Utilizar a variável no comando POST:

Atenção:
Os valores das variáveis são atribuídos em sequência.
Se uma variável existir mais do que uma vez (sem verificação do editor!), é sempre atribuído o valor da variável mais baixa,
Exemplo: Aqui, à variável PortNumber é atribuído o valor 1.
Apenas uma lista de variáveis pode estar ativa de cada vez.
Pode alternar entre as tabelas de variáveis na parte inferior do ambiente de desenvolvimento:
3.3. Variáveis do sistema
As variáveis de sistema são apresentadas entre parênteses rectos duplos e também têm um hash {{#variable}}.
Exemplo: Definir a hora do sistema utilizando uma variável de sistema
Exemplo: Valores gerados aleatoriamente para nomes, cadeias de caracteres ou e-mails
3.4. Automatização de processos
É feita uma distinção entre pedidos prévios e pedidos POST, que podem ser enviados automaticamente até um certo ponto.
Os programas Javascript também podem ser reproduzidos antes ou depois.
Os pedidos prévios são comandos e pedidos que podem ser enviados antes do envio do comando efetivo.
Exemplo: Consultar se o utilizador tem sessão iniciada. Se não estiver, o login é executado.
Exemplo de scripting:
Os pós-solicitações são enviados ou processados após a execução do comando real.
Exemplo: Definição de variáveis.

Exemplo: Verificar a resposta do comando.
Exemplo de scripting: Avaliar a resposta.
Scripting
4. Colecções
Podem ser inseridas colecções predefinidas ou ficheiros YAML através de Importar.
Cada coleção pode ser fornecida com definições globais que afectam todos os comandos e pastas.
Pode ser especificado um caminho de base em Opções, que é colocado à frente de cada comando na coleção.
BaseURL e BasePath são armazenados aqui.
Exemplo:
192.168.1.1/api/balluff/v2
O resto do comando específico é definido pela respectiva entrada de comando.

Se as APIs externas forem carregadas através de um ficheiro YAML, por exemplo, as variáveis podem ter de ser adaptadas no comando:
Como aqui, deve ser inserido um {} adicional para que este seja reconhecido como uma variável da tabela Env.
Atenção: Cada coleção só pode conter 50 comandos na versão gratuita!