Dicas de Visual Studio Code: testando APIs REST via scripts | pt 14

Renato Groffe
4 min readJun 19, 2023

--

Esse é o décimo quarto artigo da série que estou produzindo com dicas, truques e novidades no uso do Visual Studio Code. Neste post demonstrarei como podemos utilizar scripts para testes de APIs REST, fazendo para isto uso de arquivos com a extensão .http.

Nos links a seguir estão os artigos anteriores, caso você deseje acessar tais conteúdos ou até revê-los:

Dicas de Visual Studio Code: criando mapas mentais | pt 13

Dicas de Visual Studio Code: testes com browser interno, geração de GUIDs | pt 12

Dicas de Visual Studio Code: extensões Deprecated, painel Problems, Marketplace | pt 11

Dicas de Visual Studio Code: diagramas para Kubernetes e abrindo arquivos no browser | pt 10

Dicas de Visual Studio Code: criando diagramas de arquitetura | pt9

Dicas de Visual Studio Code: testes de carga e geração de senhas fortes | pt8

Dicas de Visual Studio Code: To-do list e comparação de arquivos | pt7

Dicas de Visual Studio Code: Git Graph e acessando repositórios Git no browser | pt6

Dicas de Visual Studio Code: integração com Git via Terminal e Kubernetes Templates | pt5

Dicas de Visual Studio Code: testes de APIs REST e integração com Azure DevOps | pt4

Dicas de Visual Studio Code: extensões para MongoDB e Git | pt3

Dicas de Visual Studio Code: extensões para Redis e geração de arquivos .gitignore | pt2

Dicas de Visual Studio Code: extensão para Kubernetes | pt 1

REST Client: testando APIs REST a partir de scripts

Na parte quatro desta série abordei a utilização da extensão Thunder Client, uma excelente alternativa para testes de APIs REST e que conta com uma experiência bem próxima àquela que muitos usuários do Postman estão habituados. Mas a interação com APIs REST no Visual Studio Code não está restrita a este plugin.

Outra alternativa bastante popular é a extensão REST Client. Partindo de arquivos com a extensão .http, essa extensão possibilita que scripts com as configurações de requisições HTTP sejam definidos e executados sem grandes complicações. Podemos até mesmo manipular respostas de requisições e fazer uso de variáveis para armazenar dados destes retornos, algo que viabiliza a montagem de scripts complexos envolvendo chamadas para a obtenções de tokens de acesso, inclusões/alterações de dados e posteriores consultas.

Clique nesta imagem para visualizar com uma melhor resolução

Na listagem a seguir temos um exemplo de arquivo .http, no qual foi configurada a execução 2 requisições HTTP:

  • Uma primeira requisição do tipo POST chamada autenticar permitirá a obtenção de um Access Token, empregando para isto as variáveis @user e @password;
  • A variável @token receberá o token associado à requisição autenticar, acessando para isto o atributo accessToken no body da resposta;
  • O valor vinculado a @token será então incluído como um header (Authorization) em uma segunda requisição (consultarContador) do tipo GET. Para maiores detalhes sobre as diferentes possibilidades oferecidas pela extensão REST Client clique neste link, que inclui uma documentação simples e direta sobre a mesma.

O repositório com a API REST e o arquivo contendo os scripts com os testes desta foram disponibilizados como um repositório no GitHub:

https://github.com/renatogroffe/ASPNETCore7-JWT-BearerEvents-Swagger-Extensions-HttpFiles_ContagemAcessos

Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

A extensão REST Client também conta com um mecanismo de syntax highlighting e trará links para envio de requisições (chamados Send Request, situados acima de cada requisição), como indicado na imagem seguinte:

A animação a seguir demonstra o envio da primeira requisição POST, obtendo com isto um token JWT. O resultado deste procedimento aparecerá do lado direito do arquivo tests-app-vscode.http:

Clique nesta imagem para visualizar com uma melhor resolução

Já na próxima animação podemos notar que o Access Token está vinculado às variáveis @autenticar (que representa o resultado da primeira requisição) e @token, com a execução por 3 vezes da solicitação do tipo GET e que inclui o token JWT no header Authorization:

Clique nesta imagem para visualizar com uma melhor resolução

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker