MVC URL指向错误的Web API控制器

时间:2013-08-22 10:14:42

标签: asp.net-mvc asp.net-web-api

我是mvc的新手

  

//本地主机:51525 / API /产品/ GetPromotionTypes

我得到的控制器如下:

public IEnumerable<Product> GetAll()
    {
        return Utility.GetDiscountItems();
    }

    public Product GetProduct(string Id)
    {
        return Utility.GetProduct(Id);
    }
    public String PostBag(Bag bagofItem)
    {
        return Utility.PostBagDiscountedItem(bagofItem);
    }
    public List<PromotionType> GetPromotionTypes()
     {
         return Utility.GetPromotionTypes();
     }

当我从上面的uri调用它指向控制器GetProduc()但我想要它调用GetPromotionTypes()

我做错了什么 感谢您的所有帮助

2 个答案:

答案 0 :(得分:2)

如果这是一个WebAPI控制器,那么每个控制器只能有一个GET方法。

WebAPI被设计为每个实体类型只有5个调用,GET(一个项目/列表项),POST,PUT和DELETE。这允许REST URL,例如Folders / Get / 5,Folders / Get等。

您应该为PromotionType添加另一个API控制器。

在此处浏览本教程。 http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

答案 1 :(得分:0)

您没有正确设置Routing。我认为它将您的通话视为带有GET参数的简单GetPromotionTypes请求。