2013-10-24 2 views
0

Я использую Web Api со следующими данными в контроллере.Получить данные из Web Api в C#

public IEnumerable<string> Get() 
     { 
      return new string[] { "Item1", "Item2s", "Item3", "Item4", "Item5" }; 
     } 

Я хотел бы получить эти данные из Web Api в приложении. Я использовал этот код, чтобы получить данные с другого контроллера:

public IEnumerable<Items> GetItems() 
     { 
      return repository.GetItems(); 
     } 

выше показывает код контроллера, который получает список предметов, указанных в Web API. Как изменить следующий код для получения данных из строки []?

HttpClient client = new HttpClient(); 
      HttpResponseMessage response = await client.GetAsync("http://localhost:1234/api/items"); 

      var items = new List<Items>(); 

      if (response.IsSuccessStatusCode) 
      { 
       var content = await response.Content.ReadAsStringAsync(); 

       // Parse 1 Product from the content 
       var ItemsSet= JsonConvert.DeserializeObject<dynamic>(content); 

       // Data from Api 
       var ItemData = new Items 
       (
       (string)ItemsSet[0], 
       (string)ItemsSet[1], 
       (string)ItemsSet[2], 
       (string)ItemsSet[3], 
       (string)ItemsSet[4] 


       ); 

       items.Add(ItemData); 
      } 

ответ

0

Что об этом:

HttpClient client = new HttpClient(); 
HttpResponseMessage response = await client.GetAsync("http://localhost:1234/api/items"); 

var Items = new List<Items>(); 

if (response.IsSuccessStatusCode) 
{ 
    IEnumerable<string> categories = await response.Content.ReadAsAsync<IEnumerable<string>>(); 

    var ItemData = new Items 
      (
       // Use this category list to initialize your Items 
      ); 

    items.Add(ItemData); 
} 
+0

Этого не получилось, и я сделал правку в код, я сделал ошибку. Это должно быть 'items.Add (ItemData);' – Tester

+0

Какое сообщение об ошибке вы получаете с помощью этого кода? –

+0

Несколько, потому что мне нужно добавить значения массива к объекту 'Items'. Следовательно, 'новый список ();' – Tester

Смежные вопросы