Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o mapping

Boa noite, pessoal!

Caso eu tenha um enum, por exemplo:

public enum Status
{
    ativo = 1,
    inativo = 2,
}

E queira que na na api de get seja devolvido "ativo" ao invés de 1 para a propriedade que é do tipo Status (ativo),  qual seria a melhor  maneira de fazer isso utilizando DTO?

Obrigado.

2 respostas
solução!

Fala Rafael, Beleza?

Você só precisa adicionar a o seguinte código no método ConfigureServices na class Startup.cs

services.AddControllers().AddJsonOptions(x =>
{
    x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});

essa extensão do método AddControllers() tem opções de converter enums em string.

Marcos,

Muito obrigado pela resposta! Sua dica resolveu meu problema. Em paralelo a implementação no services eu criei um DTO para retornar apenas os números, pois em alguns casos eu preciso que retorne a descrição e em outros casos preciso que retorne apenas o numero do enum.

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software