C# 当端点返回枚举时,Swagger描述响应
我的ASP.NET核心Web API中有一个端点,用以下标记标记C# 当端点返回枚举时,Swagger描述响应,c#,enums,asp.net-core,swagger,asp.net-core-webapi,C#,Enums,Asp.net Core,Swagger,Asp.net Core Webapi,我的ASP.NET核心Web API中有一个端点,用以下标记标记[ProducesResponseType(typeof(SomeEnum),200)]。其中SomeEnum是具有两个或多个值的枚举。我使用Swagger生成文档。当我运行项目并导航到api文档页面时,问题就出现了。对于该端点,我仅有的文档是: 但我想要这样的东西: 广义地说,我希望我的枚举具有它们可以接受的值的描述 这是我的招摇配置: services.AddSwaggerGen(c => {
[ProducesResponseType(typeof(SomeEnum),200)]
。其中SomeEnum
是具有两个或多个值的枚举。我使用Swagger生成文档。当我运行项目并导航到api文档页面时,问题就出现了。对于该端点,我仅有的文档是:
但我想要这样的东西:
广义地说,我希望我的枚举具有它们可以接受的值的描述
这是我的招摇配置:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "API", Version = "v1" });
var fileName = this.GetType().GetTypeInfo().Module.Name.Replace(".dll", ".xml");
c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, fileName));
c.DescribeAllEnumsAsStrings();
c.OperationFilter<AddAuthorizationHeader>();
});
尝试将枚举更改为:
public enum SomeSampleEnum
{
Success = 1,
Fail = 2,
OperationResult = 3
}
在我的情况下,这是有效的。
您可能还需要更改一些其他代码…尝试将枚举更改为:
public enum SomeSampleEnum
{
Success = 1,
Fail = 2,
OperationResult = 3
}
在我的情况下,这是有效的。
您可能还需要更改一些其他代码…是否也可以添加枚举定义?添加到问题中。是否也可以添加枚举定义?添加到问题中。在我的情况下不起作用。也许我在配置中遗漏了一些东西。它与我的配置类似。唯一不同的是,我使用枚举作为类的属性。是的,作为类的属性它可以工作,但有趣的是,当它不是类的一部分时它为什么不工作。在我的情况下不工作。也许我在配置中遗漏了一些东西。它与我的配置类似。唯一不同的是,我将枚举用作类的属性。是的,作为类的属性,它可以工作,但有趣的是,当它不是类的一部分时,它为什么不工作。