从Swagger中排除特定的Enum值

时间:2019-02-28 19:47:14

标签: c# .net enums swagger swashbuckle

我总是在所有枚举中添加一个getArgument值,并将其设置为Uninitialized来处理我反序列化具有从未设置过的枚举属性值的对象的情况。

0

但是,我不希望enum MyEnum { Uninitialized = 0, MyEnumValue1 = 1, MyEnumValue2 = 2, MyEnumValue3 = 3, } 值出现在Swagger文档中。

我尝试将Uninitialized属性添加到该值,但这没用。

有人知道如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您可以使用IDocumentFilter从规范中删除所需的任何内容。

起初可能并不直观,请看一下其中的一些示例: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/search?q=IDocumentFilter

这样,您就可以更改swagger json规范以删除或注入所需的任何内容。
现在要小心,您最终可能会遇到不符合规范的规范,请始终对照验证程序进行检查:https://validator.swagger.io/validator/debug?url=http://swagger-net-test.azurewebsites.net/swagger/docs/V1