您好!我正在尝试添加枚举作为我的 swagger 端点的参数,但它们显示为整数。在旧的 .net 上有 swagger
option.DescribeAllEnumsAsStrings();
的选项,但我在 .net 6 上没有它。
我尝试添加
options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
但仍然没有将我的枚举显示为字符串。
我在这里发现了同样的问题,我在我这边测试了问题中提到的解决方法,它对我有用。
在
Program.cs
,
在
.AddJsonOptions(options => { options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); });
后面添加
builder.Services.AddControllers()
代码应如下所示:
using System.Text.Json.Serialization;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers()
.AddJsonOptions(options => { options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); });
重新编译后也为我工作