.Net 6 Swagger 如何将枚举显示为字符串

问题描述 投票:0回答:2

swagger example

您好!我正在尝试添加枚举作为我的 swagger 端点的参数,但它们显示为整数。在旧的 .net 上有 swagger

option.DescribeAllEnumsAsStrings();
的选项,但我在 .net 6 上没有它。 program code example

我尝试添加

options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
但仍然没有将我的枚举显示为字符串。

c# .net swagger asp.net-core-6.0
2个回答
15
投票

我在这里发现了同样的问题,我在我这边测试了问题中提到的解决方法,它对我有用。

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()); });


0
投票

重新编译后也为我工作

© www.soinside.com 2019 - 2024. All rights reserved.