ASP .NET Core - Usando AutoMapper (revisitado) - II
Hoje vamos voltar a usar o AutoMapper em uma aplicação Web API ASP .NET Core. |
Continuando a primeira parte do artigo vamos criar o controlador FuncionariosController para testar o mapeamento feito usando o AutoMapper.
Criando o controlador FuncionariosController
Na pasta Controllers do projeto crie o controlador FuncionariosController:
using Api_AutoMapper.DTOs; using Api_AutoMapper.Models; using AutoMapper; using Microsoft.AspNetCore.Mvc;
namespace Api_AutoMapper.Controllers [HttpPost] return Ok(funcionarioDto); |
No controlador estamos injetando uma instância da interface IMapper do AutoMapper para poder realizar o mapeamento.
Para testar o mapeamento definimos o método Post onde vamos enviar via request os dados do funcionário a partir do tipo de origem que é a classe Funcionario e vamos realizar o mapeamento para o tipo de destino FuncionarioDTO.
Executando o projeto veremos a interface do Swagger exibindo o único endpoint definido no projeto:
Vamos enviar um request POST enviando as informações do funcionário:
Ao clicar no botão Execute iremos acionar o método Action Post do controlador onde o mapeamento será realizado e veremos o response retornado conforme abaixo:
Como podemos observar o mapeamento realizado gerou o objeto FuncionarioDTO contendo os valores:
|
Onde vemos a propriedade nomenompleto exibindo o nome concatenado, a propriedade sexo exibindo o valor 'M' , e a propriedade isativo exibindo o valor true.
Com isso concluímos que o nosso mapeamento esta funcionando corretamente.
O AutoMapper possui outros recursos como conversores e formatadores customizados que podemos usar em um cenário mais avançado mas isso é um tema para outro artigo.
Consulte a documentação neste link : AutoMapper - Documentação
Pegue o projeto aqui : Api_AutoMapper.zip
"Portanto,
lembrai-vos de que vós noutro tempo éreis gentios na carne, e chamados
incircuncisão pelos que na carne se chamam circuncisão feita pela mão dos
homens;
Que naquele tempo estáveis sem Cristo, separados da comunidade de Israel, e
estranhos às alianças da promessa, não tendo esperança, e sem Deus no mundo."
Efésios 2:11,12
Referências:
C# - Tasks x Threads. Qual a diferença
VB .NET - Datas, horas: conceitos e operações
C# - Programação Assíncrona como : Asycn e Task
O tratamento de datas no VB.NET - Macoratti.net
C# - Obtendo a data e a hora por TimeZone
C# - O Struct Guid - Macoratti.net
C# - Checando Null de uma forma mais elegante
DateTime - Macoratti.net
Null o que é isso ? - Macoratti.net
Formatação de data e hora para uma cultura ...
C# - Calculando a diferença entre duas datas
NET - Padrão de Projeto - Null Object Pattern
C# - Fundamentos : Definindo DateTime como Null ...
C# - Os tipos Nullable (Tipos Anuláveis)