Conheça o Global Error Handler - Novo Recurso do ASP.NET 8.0

No último artigo falamos de tratamento de exceções usando um Middeware, que é um recurso muito útil e versátil. Agora no .NET 8 temos um recurso mais simples e poderoso chamado Global Error Handler, que faz basicamente o que o Middleware de Exception do nosso último artigo, só que de maneira um tanto mais simples e eficiente. Como usar o Global Error Handler Eiste muita maneiras de usar o recurso, mas basicamente você implementa uma classe que herda da interface IExceptionHandler :

Você está tratando corretamente os erros na sua aplicação ?

Aplicações apresentam erros, isto é um fato inegável. Por mais que você teste, automatize, verifique, em algum momento algum código poderá causar um erro na sua aplicação! A partir daí como você pega e trata este erro é o que vai indicar quando e como você poderá resolver o problema. Como assim tratar corretamente o erro ? É muito comum em aplicações estes tipos de abordagem: try { // algum código } catch (Exception ex) { } Sim, você nao está vendo errado, o bloco exception nao tem nada!

Swagger vai acabar e agora ? Vamos conhecer o Scalar

Criar uma boa doumentação para uma API é essencial para quem vai consumir os serviços, pois ajuda no uso, reduz chamados de suporte e mais que tudo,mostra que você é um desenvolver organizado! É extremanemte desagradável, e digo isto pois trabalho com muitas APIs diariamente, trabalhar com documentações desatualizadas e incorretas! Se você e lembra, desde o .NET 5.0, o Swagger vem sendo utilizado amplamente em milhares de APIs, visto que seu uso é bastante simples e o resultado é muito bom, pois cria uma excelente documentação para nossas APIs.

ASP.NET (Core) KeyedServices - uma interface, várias implementações

Recentemente tive que fazer uma mudança em um projeto ASP.NET que envolvia usar repositório para acesso ao Azure Storage. Este projeto ja tinha uma storage funcionando, mas o cliente precisava usar uma segunda storage para um endpoint específico na aplicação. Ok, nada que um IF não resolva certo ? Não gosto muito deste tipo de solução, então verifiquei a documentação do ASP.NET 8 e temos um novo recurso chamado KeyedServices.

EntityFramework - SQL Raw Queries

Recentemente foi lancado o EF 8, juntamente com o .NET 8 e com ele muitas novidades! Mas dentre todas, uma que ‘volta’, sim, ela já existiu no passado, é o uso de queries diretas sem uso do contexto, também conhecidas como RAW Queries. Podemos afirmar que o seu uso é muito parecido com o Dapper, mas em um contexto do EF. Como funciona ? Imagine que você tem um banco de dados de Livros, como o script abaixo:

EntityFramework - Se você usa Migrations com Azure Database, preste muita atenção!

O EntityFramework possui o recurso de migrations que ajuda demais no desenvolvimento de aplicações, pois com a abordagem do CodeFirst você vai criando as suas classes e ao rodar o migrations tudo é aplicado no banco de dados. Muito útil durante o desenvolvimento! Até aí nada demais, inclusive eu já abordei o Migrations em diversos artigos aqui no blog, então onde está o problema ? Azure Database Default Config Quando você cria um banco de dados no Azure, por exemplo com o comando:

EntityFramework Core PowerTools - Engenharia Reversa do Banco de Dados

Este artigo é uma dica rápida, mas extremamente útil! Imagine que você já tem um banco de dados e quer usar o EF, o que você faz ? Cria tudo na mão ? Esera que tem um jeito muito mais interessante! Apresentando o EF Core PowerTools Este é uma ferramenta que considero essencial para trabalhar com EF. Não é uma ferramenta nova, já escrevi sobre ela há muitos anos atrás, mas ainda considero bastante útil no cenário que mencionei acima, você já tem o banco e precisa criar as classes.