C# 如何使Swagger将模型模式枚举生成为字符串而不是int?

C# 如何使Swagger将模型模式枚举生成为字符串而不是int?,c#,asp.net-web-api,swagger,.net-core-3.0,C#,Asp.net Web Api,Swagger,.net Core 3.0,我有一个基于.NETCore3的WebAPI项目,我的初创公司是这样的 services.AddControllers(o => o.EnableEndpointRouting = false) .AddMvcOptions(o => { //Add mvc options here }) .AddNewtonsoft

我有一个基于.NETCore3的WebAPI项目,我的初创公司是这样的

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]
我的C#enum如下所示:

public enum TimesheetWorkflowStatus
    {
      NotStarted = 1,
      InProgress = 2,
        Completed = 3
  }

为什么Swagger将这个枚举计算为int而不是string?我尝试使用
descripeballemsasstrings
,但它已过时。我在这里遗漏了什么吗?

我从中找到了解决方案。我必须添加
services.AddSwaggerGenNewtonsoftSupport()
以及
services.AddSwaggerGen()
才能使它工作