将复杂参数传递给GET Action

时间:2017-01-09 09:53:39

标签: c# asp.net-core asp.net-core-webapi

我需要使用HttpClient将参数传递到ASP.NET Core REST API服务器。

过滤器包含复杂数据类型。我曾经通过HttpPost传递数据,但它不适合CRUD概念。

如何在HttpGet请求中将复杂数据类型作为json对象发送?

1 个答案:

答案 0 :(得分:0)

您可以通过定义自己的Get方法来实现 e.g:

static async Task<HttpResponseMessage> GetAsync(this HttpClient client, string uri, HttpContent content, CancellationToken cancelToken)
{
    var request = new HttpRequestMessage(new HttpMethod("GET"), uri)
    {
        Content = content
    };
    return await client.SendAsync(request, cancelToken);
}

然而!建议不要这样做,请在此处阅读:HTTP GET with request body

更好的解决方案是将复杂对象转换为URL参数