微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NET Core 2.0 Swagger和枚举显示

如何解决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

但是我得到了错误

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。