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:
Aspecto | Minimal APIs | Controllers |
Fundamentos | Abordagem mais recente e simplificada para criar endpoints HTTP | Abordagem tradicional baseada em classes e métodos para definir endpoints |
Sintaxe | Mais concisa e direta | Mais verbosa, requer mais código boilerplate |
Configuração | Configuração mínima necessária | Requer mais configuração e convenções |
Flexibilidade | Altamente flexível para cenários simples | Mais 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 |
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.