我有这个例子作为未找到记录时的响应类型:
public class NotFoundResponse
{
/// <example>RecordNotFound</example>
public ErroCodes ErrorCode { get; set; }
/// <example>5</example>
public int NumericErrorCode { get; set; }
/// <example>A random error message.</example>
public string ErrorMessage { get; set; }
}
我的ErrorCodes枚举类包含以下字段:
public enum ErrorCodes
{
None = 0,
...
RecordNotFound = 5
}
但是正如你在示例响应中看到的,它总是接受第一个字段“None”。我怎么能在那里放置任何我想要的错误代码呢?
1条答案
按热度按时间tktrz96b1#
在示例响应中,它总是取第一个字段“None”。我如何在那里放置我想要的任何错误代码?
根据您共享的代码片段和描述,您似乎希望在显示swagger API文档时设置枚举值,而不是defult或您想要分配的任何值。
如果你在swagger DependencyInjection extension class中查看SwaggerGenOptionsExtensions.cs,你会看到UseInlineDefinitionsForEnums属性,它允许你定义你想要在swagger API文档中显示的自定义枚举值,而不是默认值。看看下面的图片:
实施:
你可以在你的类注解上定义你期望的枚举值,如下所示:
Program.cs文件:
在你的program.cs文件中,你必须明确地定义枚举值将根据你的自定义来选择。
输出:
**注:**您可以在这里获得更多关于swagger官方文档的详细信息。