0

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

文字列で指定された特定のカテゴリのアイテムのリストを取得するにはどうすればよいですか?

4

1 に答える 1

1

URL が正しくありません。.../api/ item ... の代わりに ... /api/ items ... を試してください...

于 2013-10-25T20:43:38.080 に答える