Exercício - Use Swashbuckle para criar um documento OpenAPI
Neste exercício, você vai adicionar o Swagger e a interface do usuário dele a um aplicativo de API Web do ASP.NET Core. As ferramentas Swagger ajudam você a criar o documento OpenAPI que descreve sua API da web.
Observação
Baixe o código-fonte no seu computador local para concluir este exercício. Após o download, é necessário descompactá-lo.
- Selecione o botão Baixar arquivo raw.
- Descompacte o arquivo
exercise.zip.
Adicionar as ferramentas do Swagger
Abra o Visual Studio e localize o aplicativo de API Web do ASP.NET Core.
No Gerenciador de Soluções, clique com o botão direito no projeto e escolha Gerenciar Pacotes NuGet.
No Gerenciador de Pacotes NuGet, pesquise
Swashbuckle.AspNetCore. Selecione o pacote e instale-o.
O pacote NuGet foi instalado. Feche a guia Gerenciador de Pacotes NuGet.
Configurar o Swashbuckle para gerar um documento OpenAPI
Abra o arquivo
Startup.cs.
Adicione a diretiva a seguir acima da linha
namespace InventoryManagement.ApiApp./* === using directive BEGIN === */ using Microsoft.OpenApi.Models; /* === using directive END === */Substitua todo o código dentro do método
ConfigureServices(IServiceCollection)pelo seguinte código:services.AddControllers(); /* === SwaggerGen BEGIN === */ services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Inventory Management", Version = "v1" }); }); /* === SwaggerGen END === */Dentro do método
Configure(IApplicationBuilder, IWebHostEnvironment), localize a instrução condicionalif (env.IsDevelopment())e substitua tudo acima dessa instrução pelo seguinte código:/* === SwaggerUI BEGIN === */ app.UseSwagger(c => { c.PreSerializeFilters.Add((swagger, httpReq) => { var server = new OpenApiServer() { Url = $"{httpReq.Scheme}://{httpReq.Host.Value}" }; swagger.Servers = new List<OpenApiServer>() { server }; }); }); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "InventoryManagement.ApiApp v1")); /* === SwaggerUI END === */Observação
É muito importante que os pontos de extremidade do Swagger sejam habilitados somente no ambiente de desenvolvimento. Caso contrário, isso poderia expor sua API ao público.
Agora você concluiu a ativação do recurso de documento OpenAPI para seu aplicativo ASP.NET Core Web API. Salve o arquivo
Startup.cs. Suas alterações serão parecidas com as da captura de tela abaixo.
Gerar o arquivo de documento OpenAPI
Selecione o botão de depuração na parte de cima do Visual Studio.
Ele abre automaticamente o navegador da Web e exibe a página da interface do usuário do Swagger.
É possível que apareça a página de erro 404. Nesse caso, insira a URL,
https://localhost:<port_number>/swagger, na barra de endereços do navegador. Na captura de tela a seguir, a URL éhttps://localhost:44371/swagger, por exemplo.
Selecione no link para abrir a página do documento OpenAPI.
O documento OpenAPI é renderizado rapidamente.
Agora, seu aplicativo de API Web do ASP.NET Core está pronto para produzir o documento OpenAPI.