如何解决NET Core 2.0 Swagger和枚举显示
我有下一个枚举:
<messageBuilders>
..
<messageBuilder contentType="application/hal+json"
class="org.wso2.carbon.integrator.core.json.JsonStreamBuilder"/>
..
</messageBuilders>
接下来我要实现:
显示每个枚举的描述 显示枚举键和值。
我使用了下一篇文章:swagger-ui-web-api-documentation-present-enums-as-strings
我做了下一个代码更改: 在枚举中,我定义了:
public enum DataTypes { [Description("All")] All,Man,Woman }
已在ConfigureServices中添加:
[JsonConverter(typeof(StringEnumConverter))] //this is using newton
public enum DataTypes
{
[Description("All")]
All,[Description("Male222")]
Male,[Description("Female")]
Female
}
在我使用过的Enum模型中:
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();
});
我看到的唯一变化是[0,1,2]和现在的[All,Male,Female] 我会错过一些设置吗?
更新: 我在每个枚举值上方添加:
[EnumDataType(typeof(Constans.DataTypes))]
[JsonConverter(typeof(StringEnumConverter))]
public Constans.DataTypes DataType;
并替换为:
[Description("None enum descriptiondd")]
[EnumMember(Value = "None")]
对于EnumDocumentFilter类,我使用了来自 swagger-ui-web-api-documentation-present-enums-as-strings
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。