Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 用于嵌套对象集合的ASP.Net核心Http[GET]_Asp.net Core_Http Get - Fatal编程技术网

Asp.net core 用于嵌套对象集合的ASP.Net核心Http[GET]

Asp.net core 用于嵌套对象集合的ASP.Net核心Http[GET],asp.net-core,http-get,Asp.net Core,Http Get,我想在查询字符串中使用嵌套对象的集合 像 公共类范围 { 来自{get;set}的公共十进制数, 到{get;set}的公共十进制数 } 公共类SearchParams { 公共IEnumerable大小{get;set;} } 我知道使用POST更好,但我不能更改现有合同 因为向后兼容 那么问题是,是否有任何选项可以在查询字符串中传递它?或者将其作为字符串传递并在服务器中解析它假设您的操作方法接收到一个名为para的SearchParams作为参数 public IActionResult

我想在查询字符串中使用嵌套对象的集合 像

公共类范围
{
来自{get;set}的公共十进制数,
到{get;set}的公共十进制数
} 
公共类SearchParams
{
公共IEnumerable大小{get;set;}
}
我知道使用POST更好,但我不能更改现有合同 因为向后兼容


那么问题是,是否有任何选项可以在查询字符串中传递它?或者将其作为字符串传递并在服务器中解析它

假设您的操作方法接收到一个名为
para
SearchParams
作为参数

public IActionResult Index(SearchParams para)
{
    return new JsonResult(para);
}
您可以按如下方式发送
GET
请求:

GET https://localhost:44386/?para.sizes[0].from=1.1&para.sizes[0].To=1.2&para.sizes[1].from=2.1&para.sizes[1].To=2.2& HTTP/1.1
查询字符串:

para.sizes[0].from=1.1&para.sizes[0].To=1.2&para.sizes[1].from=2.1&para.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
  }]
}

@user681055:如果从查询字符串的怪物中看不出,您应该避免通过GET发送复杂的请求数据。改为发帖子。
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
  }]
}