.NET - Testando endpoints direto no VS 2022


  Hoje vou apresentar um recurso que permite testar os endpoints de uma Web API diretamente no ambiente do Visual Studio.

Geralmente para testar os endpoints de uma API usamos o Swagger ou o Postman. Naturalmente existem outras opções, mas essas são as mais usadas.



Hoje vou apresentar um forma de testar os endpoints das Web APIs diretamente no ambiente do Visual Studio.

Vou partir de uma Web API criada no VS 2022 usando o template ASP.NET Core Web API. É uma API simples que realizar o CRUD básico de produtos usando o Dapper.

Assim ao executar o projeto teremos a exibição dos endpoints no Swagger:

Agora vamos iniciar a apresentação do novo recurso chamado 'Http File'.

Criando um Http File

O recurso "Http File" no Visual Studio 2022 é uma extensão que permite enviar solicitações HTTP/REST para um servidor web e receber uma resposta.

Essa extensão permite criar e testar solicitações HTTP/REST sem sair do ambiente de desenvolvimento do Visual Studio. Ao utilizar o Http File, é possível criar solicitações HTTP/REST personalizadas e enviá-las para um servidor web especificado, com opções para adicionar cabeçalhos, consultas, dados de formulário e corpo do request.

O recurso funciona da seguinte maneira:

  1. Crie um novo arquivo usando a opção HTTP File no Visual Studio 2022 e defina o método de solicitação, a URL de destino e quaisquer parâmetros adicionais necessários.
  2. Podemos adicionar cabeçalhos, consultas, dados de formulário e corpo de solicitação à solicitação, conforme necessário.
  3. Envie a solicitação para o servidor web e receba a resposta, que é exibida no painel de saída.
  4. Inspecione a resposta, verifique o código de status, os cabeçalhos e o corpo da resposta, além de depurar problemas de rede e de servidor.

Este recurso é particularmente útil para testar APIs RESTful e outras integrações de servidor web. Ele permite que os desenvolvedores enviem solicitações personalizadas para o servidor web e recebam uma resposta imediatamente, o que é útil para depurar problemas e verificar o comportamento da API.

Então vamos fazer isso...

No projeto vamos criar uma pasta chamada playground e a seguir vamos clicar com o botão direito do mouse na pasta e selecionar a opção Add New Item.

Na janela informe http e selecione a opção HTTP File informando o nome produtosAPi.http

Agora execute o projeto ProdutosAPI e abra o arquivo produtosAPi.http no VS 2022. Você verá a janela mostrada na figura abaixo e se pressionar G no início do arquivo verá as opções dos métodos HTTP exibidos:

Vamos enviar um request GET para a API copiando a URL a partir do Swagger:

GET https://localhost:7188/api/produtos

Após montar o request GET você verá uma seta > no início do comando. Clicando na seta teremos a execução do request a resposta será exibda em uma janela no ambiente do Visual Studio.

Para criar outro request informe ### e tecle enter para separar os requests criados e crie outra requisição.

Vamos criar um request para obter o produto pelo id:

GET https://localhost:7188/api/produtos/1

Agora vamos criar um request POST para incluir um novo produto:

Agora para concluir vamos deletar um produto e vamos usar uma variável de ambiente para definir o id do produto a ser excluído :

A vantagem em usar este recurso é que não precisamos sair do ambiente do Visual Studio e podemos repetir os requests e isso facilita bastante o teste dos endpoints.

Temos assim mais um recurso que podemos usar dependendo do cenário para facilitar os testes dos endpoints de uma API REST.

Baixe a API com os testes : ApiProdutosRest.zip

E estamos conversados ...

Pois estou convencido de que nem morte nem vida, nem anjos nem demônios, nem o presente nem o futuro, nem quaisquer poderes,
nem altura nem profundidade, nem qualquer outra coisa na criação será capaz de nos separar do amor de Deus que está em Cristo Jesus, nosso Senhor.

Romanos 8:38,39
Pois estou convencido de que nem morte nem vida, nem anjos nem demônios, nem o presente nem o futuro, nem quaisquer poderes,
nem altura nem profundidade, nem qualquer outra coisa na criação será capaz de nos separar do amor de Deus que está em Cristo Jesus, nosso Senhor.

Romanos 8:38,39
Pois estou convencido de que nem morte nem vida, nem anjos nem demônios, nem o presente nem o futuro, nem quaisquer poderes,
nem altura nem profundidade, nem qualquer outra coisa na criação será capaz de nos separar do amor de Deus que está em Cristo Jesus, nosso Senhor.

Romanos 8:38,39
Porque, se vivemos, para o Senhor vivemos; se morremos, para o Senhor morremos. De sorte que, ou vivamos ou morramos, somos do Senhor.

Romanos 14:8
Porque, se vivemos, para o Senhor vivemos; se morremos, para o Senhor morremos. De sorte que, ou vivamos ou morramos, somos do Senhor.

Romanos 14:8

"A estultícia do homem perverterá o seu caminho, e o seu coração se irará contra o Senhor."
Provérbios 19:3
 

Referências:


José Carlos Macoratti