Я работаю над веб-API ASP.NET Core 3.0. Многие конечные точки возвращают json
с перечислениями. Перечисления не сериализуются как строка, а как целое число по умолчанию.
Мне известен атрибут [JsonConverter(typeof(StringEnumConverter))]
. Но я ищу решение, в котором я бы сказал: «Каждое перечисление, возвращаемое этим API, должно быть сериализовано в string
, без необходимости вручную объявлять атрибуты в моей модели в каждом перечислении».
До сегодняшнего дня я работал с .NETCore2.1. Я смог добиться этого с помощью Newtonsoft.Json.Converters
и этого промежуточного программного обеспечения:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddJsonOptions(op => { op.SerializerSettings.Converters.Add(new StringEnumConverter());});
Этот код не работает в .NETCore3.0
, поэтому я ищу решение, которое глобально преобразует enum в строку,всегда, не меняя и не декорируя мои модельные классы в NETCore3.0
.
Спасибо за помощь