.net core NET core 2.0招摇过市&;枚举显示
我有下一个枚举:.net core NET core 2.0招摇过市&;枚举显示,.net-core,swagger,swagger-ui,swashbuckle.aspnetcore,.net Core,Swagger,Swagger Ui,Swashbuckle.aspnetcore,我有下一个枚举: public enum DataTypes { [Description("All")] All, Man, Woman } 我想实现下一个目标: 显示每个枚举的说明 显示枚举键和值 我使用了下一篇文章:swagger ui web api文档将枚举显示为字符串 我做了接下来的代码更改: 在枚举中,我定义了: [JsonConverter(typeof(StringEnumConverter))] //this is using newton pu
public enum DataTypes { [Description("All")] All, Man, Woman }
我想实现下一个目标:
显示每个枚举的说明
显示枚举键和值
我使用了下一篇文章:swagger ui web api文档将枚举显示为字符串
我做了接下来的代码更改:
在枚举中,我定义了:
[JsonConverter(typeof(StringEnumConverter))] //this is using newton
public enum DataTypes
{
[Description("All")]
All,
[Description("Male222")]
Male,
[Description("Female")]
Female
}
在配置服务中添加:
services.AddMvc().AddJsonOptions(options =>
options.SerializerSettings.Converters.Add(new StringEnumConverter()));
//and also services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
c.DescribeAllEnumsAsStrings();
});
在使用枚举的模型中,我执行了以下操作:
[EnumDataType(typeof(Constans.DataTypes))]
[JsonConverter(typeof(StringEnumConverter))]
public Constans.DataTypes DataType;
我在《大摇大摆》中看到的唯一变化是[0,1,2],现在是:[全部,男性,女性]
我会错过一些设置吗
更新:
我在每个枚举值上方添加了:
[Description("None enum descriptiondd")]
[EnumMember(Value = "None")]
并替换为:
c.DescribeAllEnumsAsStrings();
to-> c.DocumentFilter<EnumDocumentFilter>();
c.descripbeAllemsasstrings();
to->c.DocumentFilter();
对于类EnumDocumentFilter,我使用了源代码
但我得到了一个错误: