C# ASP.NET Core 2.1 Swagger(Swashback)Url模板可选参数

C# ASP.NET Core 2.1 Swagger(Swashback)Url模板可选参数,c#,asp.net-core,swagger,asp.net-core-2.1,swashbuckle,C#,Asp.net Core,Swagger,Asp.net Core 2.1,Swashbuckle,我有一个带有可选参数“toCcy”的动作“commercial”,并用必填字段生成了swagger规范。有没有办法解决这个问题 使用可选参数时,最好的方法是使用[Fromquery]。例如: [HttpGet("commercial/{fromCcy}/{toCcy?}")] public ActionResult Commercial(string fromCcy, string toCcy) 然后,Swagger将所有参数显示为可选参数: [HttpGet("commercial")] p

我有一个带有可选参数“toCcy”的动作“commercial”,并用必填字段生成了swagger规范。有没有办法解决这个问题


使用可选参数时,最好的方法是使用[Fromquery]。例如:

[HttpGet("commercial/{fromCcy}/{toCcy?}")]
public ActionResult Commercial(string fromCcy, string toCcy)
然后,Swagger将所有参数显示为可选参数:

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

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

可能的重复,和@Helen谢谢你的评论,当你链接我时,我创建了两个独立的方法(重载),它可以工作,生成两个独立的路径,但这不是正确的决定,如果Swagger团队添加{toCcy?},我会很高兴OpenAPI规范增强请求以支持可选路径参数:这有助于我和我向OptionViewModel类的FromCcy属性添加属性[Required],它可以正常工作。谢谢
Swagger UI Parameters:

Name    Description
FromCcy
string
(query)  

ToCcy
string
(query)