我想在查询字符串中使用嵌套对象的集合 喜欢
public class Range
{
public decimal From {get;set},
public decimal To {get;set}
}
public class SearchParams
{
public IEnumerable<Range> Sizes {get;set;}
}
我知道最好为此使用POST,但我不能更改现有合同 由于向后兼容
因此,问题-是否有任何选项可以在查询字符串中传递它?或将其作为字符串传递并在服务器中解析
答案 0 :(得分:0)
假设您的操作方法收到一个SearchParams
作为参数,名为para
。
public IActionResult Index(SearchParams para)
{
return new JsonResult(para);
}
您可以按以下方式发送GET
请求:
GET https://localhost:44386/?para.sizes[0].from=1.1¶.sizes[0].To=1.2¶.sizes[1].from=2.1¶.sizes[1].To=2.2& HTTP/1.1
查询字符串:
para.sizes[0].from=1.1¶.sizes[0].To=1.2¶.sizes[1].from=2.1¶.sizes[1].To=2.2
,响应将是:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
X-SourceFiles: =?UTF-8?B?RDpccmVwb3J0XDIwMThcMTBcMTFcU08uR2V0Q29sbGVjdGlvblxBcHA=?=
{
"sizes": [{
"from": 1.1,
"to": 1.2
}, {
"from": 2.1,
"to": 2.2
}]
}