.NETFerramentas de desenvolvimentoProgramação

Minimal APIs X Controllers? Qual a melhor forma de criar APIs no .NET?

Com a evolução recente das Minimal APIs nos projetos em ASP.NET, fica a dúvida? Qual a melhor abordagem para criar seus próximos projetos de API?

No vídeo a seguir utilizo um projeto de demonstração (app TaskManager) com as 2 abordagens, mostrando as principais diferenças entre elas. Também explorando o que você deve considerar em cada caso.

Você também vai ver nesse vídeo:

  • Uso do EF Core InMemory;
  • Configuração do Swagger p/ projetos Minimal APIs;
  • Uso do Github Copilot para ajudar a criar os endpoints;
  • Comparação de abordagens entre Minimal APIs x Controllers em diferentes critérios

Se está assistindo o vídeo pelo blog, não deixe também de curtir vídeo pelo Youtube e deixar seu comentário lá. Assim estará ajudando bastante na divulgação e na continuidade desses conteúdos aqui no site e no canal. 😉

Ideias a considerar no processo de escolher qual melhor abordagem ao criar API:

AspectoMinimal APIsControllers
FundamentosAbordagem mais recente e simplificada para criar endpoints HTTPAbordagem tradicional baseada em classes e métodos para definir endpoints
SintaxeMais concisa e diretaMais verbosa, requer mais código boilerplate
ConfiguraçãoConfiguração mínima necessáriaRequer mais configuração e convenções
FlexibilidadeAltamente flexível para cenários simplesMais estruturado, melhor para APIs complexas
Prós– Rápido de implementar
– Menor curva de aprendizado
– Ideal para microsserviços
– Menor overhead
– Melhor organização para APIs grandes
– Suporte completo a recursos MVC
– Facilita a separação de responsabilidades
– Mais familiar para desenvolvedores experientes
Contras– Pode se tornar desorganizado em projetos grandes
– Menos suporte a recursos avançados do MVC
– Documentação ainda em evolução
– Mais código boilerplate
– Pode ser excessivo para APIs simples
– Curva de aprendizado mais íngreme para iniciantes
Tabela comparativa das abordagens Minimal APIs e APIs com Controllers

Outros 2 fatores interessantes que ainda dá para acrescentar e talvez pesar na sua escolha sejam:

  • Estar atento as atualizações de ambas as abordagens no site oficial da Microsoft, uma vez que podem surgir novos recursos e considerações da mantenedora oficial. E isso pode em um futuro próximo também pode influenciar sua decisão.
  • Outro aspecto que pode ser usado para complementar sua análise é a realização de Provas de Conceito (PoCs) com seu time em um ou mais projetos. Pode ser muito relevante caso precise explorar mais detalhes e formas de organizar melhor seus projetos.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *