0

コントローラーで次のデータを使用して Web Api を使用しています。

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

アプリケーションの Web Api からこのデータを取得したいと考えています。このコードを使用して、別のコントローラーからデータを取得しました。

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

上記は、Web API で指定されたアイテムのリストを取得するコントローラー コードを示しています。次のコードを変更して、代わりに string[] からデータを取得するにはどうすればよいですか?

  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);
            }
4

1 に答える 1

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);
}
于 2013-10-24T10:32:26.900 に答える