0

我对 mvc 很陌生

//localhost:51525/api/products/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()

我做错了什么感谢你的帮助

4

2 回答 2

2

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

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

您应该为PromotionType.

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

于 2013-08-22T10:18:40.053 回答
0

你没有Routing正确设置。我想它将您的呼叫视为带有参数的简单GET请求。GetPromotionTypes

于 2013-08-22T10:18:55.290 回答