ASP.NET Core 2.1 Swagger(swashbuckle) Url 模板可选参数
ASP.NET Core 2.1 Swagger(swashbuckle) Url template optional parameter
[HttpGet("commercial/{fromCcy}/{toCcy?}")]
public ActionResult Commercial(string fromCcy, string toCcy)
我有带有可选参数 "toCcy" 的操作 "commercial",并且生成带有必填字段的 swagger 规范。有什么办法可以解决这个问题吗?
当你使用可选参数时,最好的方法是使用[Fromquery]。例如:
[HttpGet("commercial")]
public ActionResult Commercial([FromQuery] OptionsViewModel viewModel)
{
...
}
public class OptionsViewModel
{
public string FromCcy { get; set; }
public string ToCcy { get; set; }
}
然后 Swagger 将所有参数显示为可选:
Swagger UI Parameters:
Name Description
FromCcy
string
(query)
ToCcy
string
(query)
[HttpGet("commercial/{fromCcy}/{toCcy?}")]
public ActionResult Commercial(string fromCcy, string toCcy)
我有带有可选参数 "toCcy" 的操作 "commercial",并且生成带有必填字段的 swagger 规范。有什么办法可以解决这个问题吗?
当你使用可选参数时,最好的方法是使用[Fromquery]。例如:
[HttpGet("commercial")]
public ActionResult Commercial([FromQuery] OptionsViewModel viewModel)
{
...
}
public class OptionsViewModel
{
public string FromCcy { get; set; }
public string ToCcy { get; set; }
}
然后 Swagger 将所有参数显示为可选:
Swagger UI Parameters:
Name Description
FromCcy
string
(query)
ToCcy
string
(query)