Swashbuckle Swagger UI:如何从xml注释中删除参数中所需的内容
我想更改控制器中某些参数的必需属性。 我使用XML注释来链接到Swagger。 这里的示例图像
在继续之前,请仔细考虑您的参数。 该参数是否真的需要,您的输入是否反映了这一点? 是否有一个合理的默认值,在这种情况下会有什么预期的行为? 根据您的答案,您可能更喜欢以下两种解决方案之一:
选项1:可选参数
如果accessTokenID
具有合理的默认值,则可以指定API签名和Swashbuckle将根据需要停止标识参数。
例如,此示例中的id
将在Swagger UI中解析为可选:
public HttpResponseMessage Get(int id = 0)
如果您的参数确实不是必需的,那么可空类型可能更有意义(例如,如果列出空输入上的所有值):
public HttpResponseMessage Get(int? id = null)
选项2:SwaggerDefaultValue属性
Swashbuckle GitHub中的解决方案创建了一个IOperationFilter来处理SwaggerDefaultValue属性并将它们应用于Swagger UI。 如果您希望需要参数,可以使用此解决方案,但希望在Swagger UI中设置一些默认值。
例如,这将在Swagger UI文本字段中显示“0”而不是“ (必需) ”:
[SwaggerDefaultValue("id", "0")] public HttpResponseMessage Get(int id)