c# - 如何为 Swagger UI 定义 [FromQuery] 参数的默认值?

标签 c# .net-core swagger swashbuckle

我有一个 Action :

[HttpGet]
[Route("foo")]
public ActionResult Foo([FromQuery] MyClass request)
{
    var image = ToImage(WidgetType.MedianSalesPriceSqft, request);
    return File(image.ToByteArray(), "image/png");
} 

下面定义了 MyClass:

public class MyClass {
    [DefaultValue("90210")]
    public string Zip { get; set; }

    [DefaultValue("5361 Doverton Dr")]
    public string StreetAddress { get; set; }               
}

当我点击/swagger/index.html 并想试用这个 API 时,我总是必须输入 StreetAddress 和 Zip 值,即使我已经定义了默认值。

Swagger 目前提供一个 schema filter让我们为对象属性提供默认值,只要它们未设置为 [FromQuery]。我错过了一些简单的东西吗?

最佳答案

看起来这个问题已经在测试版上修复了:
https://www.nuget.org/packages/Swashbuckle.AspNetCore/5.0.0-rc2

测试版有很多变化,我有几个 DocumentFilter 需要重构,
我不得不评论一些无法弄清楚如何在 Beta 上做的事情。

我添加了你相同的 Action 和类,它看起来像这样:

enter image description here

单击“试用”后,将填充值 enter image description here

如果你需要我的代码就在这里:
https://github.com/heldersepu/csharp-proj/tree/master/WebApi_NetCore

关于c# - 如何为 Swagger UI 定义 [FromQuery] 参数的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065200/

相关文章:

c# - Checkedlistbox 多列

c# - Unity 5.3 - C# -- List<Vector2> 如何提取最大的 X 值?

python - "Try it Out"部分中的 Django Rest Swagger 自定义身份验证 header

json - 如何在没有数组的情况下拥有多个无限对象 - Open API/Swagger

amazon-web-services - 将 lambda 函数名称传递给 swagger 文件中的 uri

c# - 向 wpf 行为注入(inject)依赖的干净方法

c# - 根据枚举名称动态查找枚举值

c# - 分布式事务 : . NET Framework 与 .NET Core

.net-core - 如何将 MediatR 与我的业务层分离

.net - xunit和System.Interactive.Async