我正在尝试从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。任何计划将不胜感激。
您的对象是这样的吗?那么列表中有多个属性?