我有一个行动:
[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 目前提供了模式过滤器 https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/575#issuecomment-461962745只要对象属性未设置为 [FromQuery],您就可以为它们提供默认值。我错过了一些简单的事情吗?
看起来这个问题已经在 beta 版本上得到了修复:
https://www.nuget.org/packages/Swashbuckle.AspNetCore/5.0.0-rc2 https://www.nuget.org/packages/Swashbuckle.AspNetCore/5.0.0-rc2
测试版有很多变化,我有几个 DocumentFilter 需要重构,
我不得不评论一些不知道如何在测试版上做的事情。
我添加了与您相同的操作和类,它看起来像这样:
Once you click on the try it out the values are populated
如果您需要我的代码就在这里:
https://github.com/heldersepu/csharp-proj/tree/master/WebApi_NetCore https://github.com/heldersepu/csharp-proj/tree/master/WebApi_NetCore
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)