Group と Item の 2 つのクラスがあります。
public class Group
{
public string Name{ get; set; }
public List<Item> ItemList { get; set; }
}
そしてアイテム
public class Item
{
public int ID{ get; set; }
public string Name{ get; set; }
public string Description{ get; set; }
public Group ItemGroup{ get; set; }
}
グループ展ごとにアイテムがセットになっています。
次のコードは、特定のグループのアイテムのリストを取得するためのものです。
public IEnumerable<Item> GetItemByGroup(string group)
{
return repository.GetAllItems().Where
(p =>p.ItemGroup.Name.Equals(group));
}
完全なコントローラー コード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using TestService.Models;
using System.IO;
namespace TestService.Controllers
{
public class ItemsController : ApiController
{
static readonly IItemRepository repository = new ItemRepository();
public IEnumerable<Item> GetAllItems()
{
return repository.GetAllItems();
}
public IEnumerable<Item> GetItemsByGroup(string group)
{
return repository.GetAllItems().Where
(p => p.Category.Name.Equals(group));
}
}
}
これを実行すると、次のエラーが表示No type was found that matches the controller named 'item'.
されますlocalhost:1234/api/item?group=group1
。
文字列で指定された特定のカテゴリのアイテムのリストを取得するにはどうすればよいですか?