gpt4 book ai didi

c# - Swashbuckle Swagger 用户界面 : How to remove required from parameters in xml commenting

转载 作者:行者123 更新时间:2023-11-30 15:18:16 26 4
gpt4 key购买 nike

我想更改 Controller 中某些参数的必需属性。我使用 XML 注释来链接到 Swagger。

Example image

最佳答案

在继续之前,请仔细考虑您的参数。该参数是否真的需要,您的输入是否反射(reflect)了这一点?是否有一个合理的默认值,在这种情况下预期的行为是什么?根据您的回答,您可能更喜欢以下两种解决方案之一:

选项 1:可选参数

如果 accessTokenID 具有合理的默认值,您可以在 API 签名上指定该值,Swashbuckle 将根据需要停止识别该参数。

例如,此示例中的 id 在 Swagger UI 中将解析为可选:

public HttpResponseMessage Get(int id = 0)

如果您的参数确实不是必需的,可空类型可能更有意义(例如,如果您在空输入上列出所有值):

public HttpResponseMessage Get(int? id = null)

选项 2:SwaggerDefaultValue 属性

A solution in the Swashbuckle GitHub创建了一个 IOperationFilter 来处理 SwaggerDefaultValue 属性并将它们应用于 Swagger UI。如果您希望需要该参数,但又想在 Swagger UI 中设置一些默认值,则可以使用此解决方案。

例如,这将在 Swagger UI 文本字段中显示“0”而不是“(必需)”:

[SwaggerDefaultValue("id", "0")]
public HttpResponseMessage Get(int id)

关于c# - Swashbuckle Swagger 用户界面 : How to remove required from parameters in xml commenting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44293438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com