Fala galera!

Uma dica rápida para quem precisar enviar mais informações de erro junto ao HttpResponseException. Podemos enviar essas informações dentro do Content do Response. Então por que não enviar um JSON?

Vou ensinar um jeito prático, fácil e rápido de fazer isso!!!

Primeiro vamos criar um Model para os erros. Crie uma classe chamada ErrorModel na pasta Models.

Agora para não ter que ficar repetindo o código em todas os nossos ApiControllers, vamos criar uma classe Base para isso. No exemplo só vamos criar a função para retornar a nossa Exception, mas pode adicionar tudo que é útil aos ApiController.

Eu chamei a minha classe base de BaseApiController, segue o código dela:

Para converter em json o nosso Model, utilizei a library Newtonsoft.Json. Quando criei o meu projeto ela já veio junto, mas caso não tenha no seu, adicione via nuget:

Para testar, altere a herança de alguma Api para BaseApiController e chame o método CreateHttpResponseException desta forma:

O resultado será algo parecido com isso:

<a href="https://i0.wp.com/www.leonardohofling.com/blog/wp-content/uploads/2015/08/Screenshot_111.png” data-rel="lightbox-image-0” data-rl_title=”” data-rl_caption=”” title="“>

Código fonte:

https://github.com/leonardohof/WebApiJsonException</a>

Até a próxima!