0

我有两个类:Group 和 Item。

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

您的网址不正确。尝试 .../api/ items ... 而不是 .../api/ item ...

于 2013-10-25T20:43:38.080 回答