我是构建REST服务的新手,并且正在跟随this guide在c#中创建.net客户端以调用接受REST调用的服务。
我可以从我的代码中获取请求以获取单个项目,例如:
api/products/1
使用此代码:
HttpResponseMessage response = await client.GetAsync("api/products/1");
if (response.IsSuccessStatusCode)
{
Product product = await response.Content.ReadAsAsync<Product>();
Console.WriteLine("{0}\t${1}\t{2}", product.Name, product.Price, product.Category);
}
我的目标是不仅列出1个项目,而是列出每个项目。我知道在URI中我通常可以输入
api/products
获取完整的项目列表,但在上面的代码中,我无法将所有这些项目存储在响应变量中。
所以我的问题可能是两部分:
答案 0 :(得分:1)
如果api/products
端点返回(例如)Product
元素的JSON数组,那么您可以简单地执行此操作:
HttpResponseMessage response = await client.GetAsync("api/products");
if (response.IsSuccessStatusCode)
{
List<Product> products = await response.Content.ReadAsAsync<List<Product>>();
foreach (var product in products)
{
Console.WriteLine("{0}\t${1}\t{2}",
product.Name, product.Price, product.Category);
}
}