public class Searchquery{ public string OrderBy { get; set; } [DefaultValue(OrderDirection.Descending)] public OrderDirection OrderDirection { get; set; } = OrderDirection.Descending;}public IActionResult SearchPendingCases(Searchquery queryinput);
Swashbuckle生成OrderDirection作为必需参数.我想成为可选项并向客户端指示默认值(不确定swagger是否支持此功能).
我不喜欢使属性类型可以为空.还有其他选择吗?理想情况下使用内置类…
我使用Swashbuckle.AspNetCore – https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio
解决方法 我总是在param上设置默认值,如下所示:public class TestPostController : APIController{ public decimal Get(decimal x = 989898989898989898,decimal y = 1) { return x * y; }}
这就是swagger-ui的样子:
http://swashbuckletest.azurewebsites.net/swagger/ui/index#/TestPost/TestPost_Get
UPDATE
在对评论进行讨论之后,我更新了Swagger-Net以通过反射读取DefaultValueAttribute
这是我正在使用的示例类:
public class MyTest{ [MaxLength(250)] [DefaultValue("HelloWorld")] public string name { get; set; } public bool IsPassing { get; set; }}
这是swagger Json的样子:
"MyTest": { "type": "object","propertIEs": { "name": { "default": "HelloWorld","maxLength": 250,"type": "string" },"IsPassing": { "type": "boolean" } },"xml": { "name": "MyTest" }},
Swagger-Net的源代码在这里:
https://github.com/heldersepu/Swagger-Net
测试项目的源代码在这里:
https://github.com/heldersepu/SwashbuckleTest
以上是内存溢出为你收集整理的c# – Swagger参数的默认值全部内容,希望文章能够帮你解决c# – Swagger参数的默认值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)