以下路线在我的 WebApiConfig.cs 中:
// routing for /profile/
config.Routes.MapHttpRoute(
name: "profile",
routeTemplate: "users/{userid}/profil",
defaults: new { controller = "User", userid = RouteParameter.Optional }
);
// routing for /messages/
config.Routes.MapHttpRoute(
name: "messages",
routeTemplate: "users/{userid}/messages",
defaults: new { controller = "User", userid = RouteParameter.Optional }
);
这是控制器中的相应代码:
public class UserController {
[HttpGet]
[ActionName("profile")]
public HttpResponseMessage GetProfile(int userid) {}
[HttpGet]
[ActionName("messages")]
public HttpResponseMessage GetMessages(int userid) {}
}
所以基本上我想在同一个控制器中有两个方法,它们都采用相同的参数,但映射到不同的 URL。现在我不断收到关于找到多个操作的错误 - 即使我有 ActionName 属性的区别。
我究竟做错了什么?我可以在同一个控制器中有两个 GET 方法,采用相同的输入但在不同的 URL 上调用吗?
谢谢!