如何通过复杂的对象发出GET请求?

Adm*_*and 1 c# asp.net-core asp.net-core-webapi

我尝试GET通过WebApi与复杂对象进行请求。请求是这样的:

[HttpGet("{param1}/{param2}")]
public async Task<IActionResult> GetRequest(string param1, int param2, [FromBody] CustomObject[] obj)
{
    throw new NotImplementException();
}
Run Code Online (Sandbox Code Playgroud)

哪里CustomObject是:

[DataContract]
public class CustomeObject
{        
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何撰写有效的GET请求?

Rah*_*hul 5

[FromBody] CustomObject[] obj... GET请求没有消息正文,因此应将其更改为FromUri

当然,请看一下文档

public class GeoPoint
{
    public double Latitude { get; set; } 
    public double Longitude { get; set; }
}

public ValuesController : ApiController
{
    public HttpResponseMessage Get([FromUri] GeoPoint location) { ... }
}
Run Code Online (Sandbox Code Playgroud)

请求如下所示,本质上您将整个对象数据作为查询字符串传递

http://localhost/api/values/?Latitude=47.678558&Longitude=-122.130989
Run Code Online (Sandbox Code Playgroud)

可以在将对象传递到webapi的另一个传递数组中找到对象示例的数组