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

How to define default values for [FromQuery] parameters for the Swagger UI?

我有一个动作:

[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 需要重构,
我不得不评论一些无法弄清楚如何在测试版上做的事情。

我添加了与您相同的操作 class,它看起来像这样:

单击“试用”后,将填充值

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