Novidades do .NET 6: suporte a Swagger em Minimal APIs

Renato Groffe
3 min readAug 1, 2021

--

Em um artigo anterior abordei a implementação de aplicações ASP.NET Core baseadas em Minimal APIs, umas das novidades previstas para o .NET 6 e que foi disponibilizada a partir do Preview 4 desta versão:

Novidades do .NET 6: Minimal APIs em ASP.NET Core

Neste novo post retomo esse tema, trazendo agora um exemplo prático de uma novidade que integra o Preview 6 do .NET 6: o suporte a Open API/Swagger em Minimal APIs.

Outros detalhes sobre este release podem ser encontrados no anúncio sobre o mesmo no blog oficial do ASP.NET:

O exemplo descrito a seguir foi disponibilizado no seguinte repositório do GitHub:

https://github.com/renatogroffe/ASPNETCore6-Preview6-MinimalAPIs-REST_API_Saudacao

Na próxima imagem podem observar a partir do Visual Studio Code a estrutura os diferentes arquivos pertencentes a este projeto (nota-se a ausência óbvia do arquivo Startup.cs, já que a aplicação em questão foi construída com base no conceito de Minimal APIs):

Para a criação desta aplicação utilizei o template ASP.NET Core Empty, por meio da seguinte instrução:

dotnet new web -n APISaudacao

Foi necessário também adicionar o package Swashbuckle.AspNetCore:

Defini ainda a classe Mensagem, que corresponde à representação dos dados a serem retornados através da aplicação (uma API REST construída a partir do uso de Minimal APIs):

E na próxima listagem temos o código que implementa a API REST:

  • É importante ressaltar que ao optarmos pelo uso de Minimal APIs não haverá a necessidade de definição da classe Program;
  • As chamadas aos métodos AddEndpointsApiExplorer e AddSwaggerGen (linhas 10 e 11) permitem configurar o uso do Swagger/Open API;
  • Ao acionar os métodos UseSwagger e UseSwaggerUI (linhas 23 e 24) os middlewares que habilitam a utilização do Swagger serão carregados;
  • Na chamada a MapGet (linha 29) configuramos a rota que receberá requisições (/Mensagem), incluindo o uso do parâmetro nome e que será informado como uma query string.

Com o projeto em execução e acessando a URL https://localhost:5001/Mensagem?nome=Renato%20Groffe podemos observar o seguinte resultado:

Já na próxima imagem temos o mesmo teste reproduzido a partir da interface gráfica do Swagger (acessível através do endereço https://localhost:5001/swagger/index.html):

E para concluir este post deixo aqui um convite…

Dia 25/08 (quarta) às 21:00 — horário de Brasília — teremos mais um evento online e gratuito no Canal .NET.

Ao longo desta live abordarei dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET, ASP.NET Core, Azure Functions. Acompanhe para saber mais sobre o uso de diferentes frameworks, serviços na nuvem, mensageria, bancos de dados e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.

Teremos também exemplos de novidades do .NET 6 ao longo da apresentação!

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-backend-dotnet-ago-2021

--

--

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