ASP.NET Core 2.1 Swagger(swashbuckle) Url template optional parameter [duplicate]

本秂侑毒 提交于 2020-01-15 12:24:29

问题


[HttpGet("commercial/{fromCcy}/{toCcy?}")]
public ActionResult Commercial(string fromCcy, string toCcy)

I have action "commercial" with optional parameter "toCcy" and swagger spec generates with required field. Is there any way to solve this problem?


回答1:


When you use optional parameters, the best way is use [Fromquery]. For example:

[HttpGet("commercial")]
public ActionResult Commercial([FromQuery] OptionsViewModel viewModel)
{
...
}

public class OptionsViewModel
{
    public string FromCcy { get; set; }
    public string ToCcy { get; set; }
}

Then Swagger shows all parameters as optional:

Swagger UI Parameters:

Name    Description
FromCcy
string
(query)  

ToCcy
string
(query)  


来源:https://stackoverflow.com/questions/54323280/asp-net-core-2-1-swaggerswashbuckle-url-template-optional-parameter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!