我可以转换此网址吗?
http://localhost:4200/api/hoursRange=[0,12]
to int [] HoursRange 我正在使用asp.net core 2.2
我尝试了以下代码:
[HttpGet]
[Route("api")]
public IActionResult Get([FromQuery]int[] HoursRange)
{
// action
}
但这不起作用
答案 0 :(得分:1)
它显示了实现此目标的几种方法。
Microsoft文档中显示的几种方法是:
hoursRange=0&hoursRange=12
使用索引器
hoursRange[0]=0&hoursRange[1]=12
答案 1 :(得分:1)
解决方案1: 默认模型联编程序期望使用以下网址:
http://localhost:4200/api/hoursRange=1&hoursRange=2&hoursRange=3
仅适用于这种方法:
[HttpGet]
[Route("api")]
public IActionResult Get([FromQuery]int[] HoursRange)
{
// action
}
解决方案2:
为此,但使用不同的方法,但使用asp.net mvc
需要像这样更改方法名称
http://localhost:54119/api/MultipleData?ids=24041&ids=24117
为了成功绑定到:
[HttpGet]
[Route("api")]
public ActionResult MultipleData(int[] ids)
{
...
}
解决方案3: 有关其他经过验证的解决方案,请检查link
解决方案4: 索引器也是一种方法,但不是一种有效的方法
http://localhost:4200/api/hoursRange[0]=24041&hoursRange[1]=24117&hoursRange[2]=24117
信息
请检查更多定制 customizing-query-string-parameter-binding-in-asp-net-core-mvc