如何使用 WebApi 和属性路由在控制器上获取默认路由

本文关键字:路由 控制器 获取 默认 WebApi 属性 何使用 | 更新日期: 2023-09-27 18:32:25

我正在使用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");
        }
    }

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

如何使用 WebApi 和属性路由在控制器上获取默认路由

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

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

在那之后,一切正常。