【问题标题】:In Swagger UI, how to customize body input ui (model schema UI)在 Swagger UI 中,如何自定义 body 输入 ui(模型架构 UI)
【发布时间】:2017-01-24 21:58:21
【问题描述】:

我在 C#.Net 应用程序中使用带有 Swagger 2.0 的“swagger UI”,并显示 Get、Post、Delete 端点。

对于 Post,我将“模型架构”作为正文(输入参数)传递。

很难使用一个文本区域来输入类对象。

是否可以单独自定义主体参数 UI...例如为类对象(模型架构)中的所有参数单独输入框?

因此,对于带有模型架构参数的 post 方法,UI 将是类对象(模型架构)中所有参数的单独文本框..

【问题讨论】:

    标签: c# asp.net-web-api swagger swashbuckle


    【解决方案1】:

    您是否注意到点击Data Type 列上的Example value 实际上会使用默认实体内容填充body 值?这是避免全部输入的开始。

    尽管如此,您 can also override 当前 Swagger UI 显示,更改 existing views content 以匹配 text-area 以转换为显示属性文本框而不是单个文本区域的定制解析器。

    【讨论】:

    • 感谢您的回复。单击“数据类型”列上的“示例值”,用默认值正确填写正文值。
    • 在我的用例中,我有非常大的类/正文参数要发布。作为最终用户,在一个文本区域(一个文本区域)中填充所有值并不容易。我正在为正文值中的每个参数寻找一个单独的文本框。
    • 你是对的......正如你所提到的,我正在寻找单独的文本框而不是单个文本区域。如何进行一般转换/覆盖(以支持所有相似的主体参数)?
    • Swagger UI 为此提供了一个通用控件作为文本区域。我没有找到任何与您的要求相似的东西,因此您实际上可以通过自己构建它来为它做出贡献。
    【解决方案2】:

    将以下代码添加到Startup.cs中的ConfigureServices

    services.AddControllers()
            //Used to Add Input field to the Swagger UI
                .ConfigureApiBehaviorOptions(options =>
                {
                    options.SuppressInferBindingSourcesForParameters = true;
                }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 2016-11-09
      • 1970-01-01
      • 2014-11-05
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多