У меня есть сборка проекта Web API. NET Core 3, и мой Автозагрузка выглядит следующим образом.
services.AddControllers(o => o.EnableEndpointRouting = false)
.AddMvcOptions(o =>
{
//Add mvc options here
})
.AddNewtonsoftJson(o =>
{
o.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
o.SerializerSettings.Converters.Add(new StringEnumConverter());
o.SerializerSettings.DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fff'Z'";
})
.SetCompatibilityVersion(CompatibilityVersion.Latest);
Swagger генерирует схему как:
status MyEnumStatusinteger($int32)
Enum:
[ 1, 2, 3]
My C# enum выглядит следующим образом:
public enum TimesheetWorkflowStatus
{
NotStarted = 1,
InProgress = 2,
Completed = 3
}
Почему Swagger обозначает это enum как int, а не string? Я пытался использовать DescribeAllEnumsAsStrings
, но он устарел. Я что-то здесь упускаю?