我有一个 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 和类,它看起来像这样:
如果你需要我的代码就在这里:
https://github.com/heldersepu/csharp-proj/tree/master/WebApi_NetCore
关于c# - 如何为 Swagger UI 定义 [FromQuery] 参数的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065200/