Em um artigo anterior demonstrei o uso da Global Tool HTTP REPL, funcionalidade introduzida no .NET Core 2.2 e que permite o teste de APIs REST nas quais foi ativado o uso do Swagger:
Este novo artigo complementa o anterior, desta vez abordando a utilização do HTTP REPL no debugging de APIs criadas com o ASP.NET Core a partir do Visual Studio.
Para os testes detalhados neste artigo foram empregados o Visual Studio 2019 Preview 4.3 (este mesmo tipo de procedimento poderia ser realizado no Visual Studio 2017), uma API REST criada com o ASP.NET Core 2.2, além da versão 0.1.0-preview.19119.4 do HTTP REPL.
Para instalar essa versão do HTTP REPL, foi executado o seguinte comando:
dotnet tool install --global dotnet-httprepl --version 0.1.0-preview.19119.4
A instrução dotnet tool list -g deve exibir o HTTP REPL instalado, caso o processo de implantação tenha sucesso:
O projeto que serviu de base para os testes se encontra no seguinte repositório do GitHub:
Acionar o botão Debug (provavelmente estará indicado no mesmo IIS Express), selecionando em seguida a opção “Browse With…“:
Clique, então, no botão “Add…”:
Em Add Program preencha os campos Program (com o caminho do HTTP REPL. Neste caso, C:\Users\renat\.dotnet\tools\dotnet-httprepl.exe) e Friendly name (com um nome que identifique essa alternativa – HTTP REPL, para este exemplo):
Ao acionar o botão OK, aparecerá agora como uma das alternativas HTTP REPL:
Em Web Browser no botão Debug selecione HTTP REPL:
Alterar também as ocorrências do atributo launchUrl em launchSettings.json de forma que a aplicação, ao iniciar, seja carregada em / (diretório/rota raiz):
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:8707",
"sslPort": 44395
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"APIIndicadores": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Finalmente será exibida uma janela/prompt de execução, com o HTTP REPL se conectando à API REST por meio do comando set
base
:
A seguir temos um exemplo de debugging da Action Get:
Com o resultado deste teste na próxima imagem: