带有对象作为参数的HttpWebRequest GET

问题描述 投票:0回答:1

我正在尝试从Windows服务调用API。该API用ASP MVC编写。到目前为止,我正在创建类似以下的请求:

private List<T> GetCollectionFromApi<T>(string url)
    {
        List<T> result = new List<T>();

        try
        {
            var request = (HttpWebRequest) WebRequest.Create(url);
            request.Method = "GET";

            using (var response = (HttpWebResponse) request.GetResponse())
            {
                using (var stream = response.GetResponseStream())
                {
                    using (var sr = new StreamReader(stream))
                    {
                        result.AddRange(JsonConvert.DeserializeObject<List<T>>(sr.ReadToEnd()));
                    }
                }
            }
        }
        catch (Exception e)
        {
            // handle err
        }

        return result;
    }

很好,但是现在我需要在GET请求中传递参数。该参数是一个对象,而不是原始类型。

是否要在查询字符串中逐个属性地对其进行解构?还是以某种方式将其添加到请求标头?我确实计划依靠API控制器中的DefaultModelBinder。任何计划将不胜感激。

c# asp.net-mvc http-headers httpwebrequest http-get
1个回答
0
投票

您的对象是这样的吗?那么列表中有多个属性?

© www.soinside.com 2019 - 2024. All rights reserved.