【发布时间】:2021-03-02 15:16:54
【问题描述】:
在asp.net core 项目net5.0 中使用Swashbuckle.AspNetCore v6.0.7。
假设我有这样的模型:
public enum MyEnum
{
A, B
}
和
public class MyModel
{
public MyEnum MyEnum { get; set; }
public MyEnum? MyEnum2 { get; set; }
}
并且swagger架构是这样生成的:
"MyEnum": {
"enum": [
"A",
"B"
],
"type": "string"
},
"MyModel": {
"type": "object",
"properties": {
"myEnum": {
"$ref": "#/components/schemas/MyEnum"
},
"myEnum2": {
"$ref": "#/components/schemas/MyEnum"
}
},
"additionalProperties": false
}
如您所见,MyEnum 和 MyEnum? 在 open-API JSON 架构中没有区别!
而且似乎可以为空的枚举未正确显示在架构中。
有人知道我该如何解决这个问题吗?
最好的
【问题讨论】:
-
您可以参考link,并尝试使用
UseAllOfToExtendReferenceSchemas(),正如domaindrivendev所说。
标签: c# asp.net-core swagger swashbuckle.aspnetcore