Swagger UI Web Api documentation Present enums as strings?

后端 未结 20 2009
半阙折子戏
半阙折子戏 2020-11-27 11:31

Is there a way to display all enums as their string value in swagger instead of their int value?

I want to be able to submit POST actions and put enums according to

20条回答
  •  眼角桃花
    2020-11-27 11:36

    ASP.NET Core 3.1

    To generate enums as strings using Newtonsoft JSON you must explicitly add Newtonsoft support by adding AddSwaggerGenNewtonsoftSupport() as follows:

    services.AddMvc()
        ...
        .AddNewtonsoftJson(opts =>
        {
            opts.SerializerSettings.Converters.Add(new StringEnumConverter());
        });
    
    
    services.AddSwaggerGen(...);
    services.AddSwaggerGenNewtonsoftSupport(); //
    

    This is available via a new package, Swashbuckle.AspNetCore.Newtonsoft. It looks like everything else works fine without this package apart from enum converter support.

提交回复
热议问题