我有一个名为customer的控制器和GetAllCustomers的一个动作方法,它接收单个字符串输入参数作为FirstName。问题是我希望网址像
MyAPI/Customer/MyFirstName
但是上面提到的网址对我不起作用,而是按照以下方式工作
MyAPI/Customer?firstname=MyFirstName
如何使用ApplicationRouting(nuget包)使其像第一个URL一样工作?我已经为动作方法配置了attrbute路由,如下所示。
[GET("Customer/{firstname}")]
public List<Customer> GetAllCustomersFirstname(String firstname)
{
//code goes here
}
修改 这是我想要实现的参考,但在ApiController
中并没有发生这种情况答案 0 :(得分:0)
在AppStart文件夹中打开ApiConfig。您需要为该特定操作添加路由。我认为你需要的不仅仅是你在路线上展示的内容,因为你必须告诉它要调用哪个动作以及允许哪些方法。 E.g。
config.Routes.MapHttpRoute(
name: "yourRoute",
routeTemplate: "api/{controller}/{firstname}",
defaults: new { controller = "Customer", action = "GetAllCustomersFirstname" });