Customização de response – Fail Fast

Problema

Olá, tudo bem?

Nos projetos de back-end que eu atuo, tenho o costume de criar um envelope para o response da minha API, facilitando assim o consumo da mesma em um app desktop, mobile ou qualquer outro interessado.

Qualquer violação da regra de negocio ou exceção ocorrida na aplicação é tratada e retornada dentro desse envelope, entretanto, quando ocorre algum erro de negocio que é interceptado pelo fail fast dos meus commands , utilizando data annotation,  um bypass é feito nesse envelope e o meu padrão de envio é quebrado e, consequentemente, a aplicação que consome a api também é afetada.

Envelope:

Solução

Conseguimos resolver este problema de uma forma bem tranquila no .NET Core. Basta adicionarmos um filtro, no Startup.cs, que  sobreescreve o retorno dos meus atributos.

Veja o exemplo abaixo:

Classe que realiza a customização:

Adicionando o filtro no Startup.cs

Pronto! Desta forma, meu Fail Fast começa a ser retornado no mesmo padrão que toda a api.

 

Conclusão

Como vocês podem ver, com .Net Core é bem tranquilo realizar essas customizações e sabendo disso agora, você percebe que pode criar vários filtros para lidar com outros tipos de problema, ou seja, você tem mais uma nova ferramenta na sua tool box!

Uma solução simples mas que pode lhe poupar tempo caso ainda não tenha conhecimento e acabou lendo esse post 😀

Espero que tenha ajudado.

Abraços e até o próximo post!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s