如何使用Web Api& amp;获取控制器上的默认路由?属性路由?

时间:2013-09-22 20:28:22

标签: c# asp.net-web-api attributerouting

我正在使用WebApi和属性路由。

我有一个客户控制器,有一种方法可以为该客户获取所有动物。这种方法&路线工作很棒。但是,我还想要一个只返回所有客户列表的方法,但我无法使用该方法。

这是我的控制器:

[RoutePrefix("api/customer")]
    public class CustomerController : ApiController
    {
        [HttpGet("{customerId}/animals")]
        public PagedHorse Get(int customerId)
        {
                Console.WriteLine("Get");
        }

        [HttpGet("")]
        public PagedCustomer List()
        {
                Console.WriteLine("List");
        }
    }

如果我将List路由更改为"{customerId}/List"并忽略传入的参数,则可以正常工作。我对这些路线做错了什么?我真的很想让api/customer返回所有客户的列表。

1 个答案:

答案 0 :(得分:0)

Hot Towel SPA项目类型与我的项目之间似乎有一些干扰。我没有从头开始使用Hot Towel,而是将其添加到现有项目中,因此我认为存在一些路由问题。

我删除了HotTowel特定的配置(例如HotTowelRouteConfig),因为我在ASAX文件中已经完成了所有操作。

之后一切正常。