Sitemap
Wilson Santos

Wilson Santos

Nos últimos 15 anos, venho desenvolvendo , aperfeiçoando e integrando sistemas, sou apaixonado por desenvolver e ensinar, nem tanto por escrever!.

Model Binder Web Api Core

Historinha :

2 min readOct 27, 2018

--

Datas , Decimais ou mesmo Guids são tipos de dados que ao serem usados métodos de uma API ASP .NET, podem ser interpretados erroneamente ou não serem interpretados dependendo da cultura da API, e do formato desses dados.

Quando fazemos uma requisição em uma API , passamos parâmetros para a esta, esses parâmetros precisam ser usados para construir um modelo essas construção chamamos de “Model Binder”.

Esses métodos são chamados “Action Methods” e representam os verbos de operações HTTP , GET, PUT, POST , DELETE e outros.

Qual problema resolve

Permite ensinar ao AspNet como tratar dados e construir os modelos ou parâmetros presentes em seus Action Methods de sua controller

Implementação

Vou mostrar um exemplo para receber um Guid como propriedade de uma classe de Filtro vamos lá:

primeiro vamos criar uma classes ModelBinderProvider que implementa a interface IModelBinderProvider conforme abaixo;

Press enter or click to view image in full size

percebam que basicamente o objetivo aqui é identificar o tipo e então acionar o binder

Get Wilson Santos’s stories in your inbox

Join Medium for free to get updates from this writer.

que será um outra classe:

Press enter or click to view image in full size

é praticamente isso , agora basta chamar isso na classe Startup da sua Web Api , conforme abaixo

Press enter or click to view image in full size

Tenho dois Binder ai um para datas e outro para o Guid que mostrei acima

Ai tenho uma classe de Filtro

com a propriedade Guid

e na sequencia segue a Action da minha controller

Press enter or click to view image in full size

e pronto ,

Algumas implementações eu abstrai e encapsulei para reuso (vocês podem encontra-las no meu github)

  1. GuidModelBinderProvider
  2. DateTimePtBrModelBinderProvider

--

--

Wilson Santos
Wilson Santos

Nos últimos 15 anos, venho desenvolvendo , aperfeiçoando e integrando sistemas, sou apaixonado por desenvolver e ensinar, nem tanto por escrever!.