Supongo que será una pregunta duplicada porque es algo bastante básico, pero después de buscar un poco no pude encontrar la respuesta.
Tengo una aplicación .net462. Tengo la siguiente enumeración:
public enum Test { Foo, Bar, }
y el siguiente punto final en un controlador:
[HttpGet] [Route("myTest")] public IEnumerable<Test> GetMyFooTest() { return new List<Test> { Test.Bar, Test.Foo }; }
Ahora, si uso Chrome para recuperar datos del punto final, obtengo:
Aquí los Enums aparecen en su forma de cadena.
Sin embargo, cuando llamo a este punto final desde el front-end (JS, jQuery), o si lo llamo usando Postman, obtengo:
No importa si lo visualizo con JSON, XML o cualquier opción:
Aquí obtengo los valores numéricos de los Enums.
¿Por qué esta diferencia? ¿Hay alguna manera de obtener los valores de cadena en la parte delantera? (Por supuesto, tengo la opción de cambiar el controlador para devolver un IEnumerable<string>
y usar un ToString()
en el lado de C#, pero eso sería bastante feo...).