次のルートは、私の 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 にマップされる 2 つのメソッドを同じコントローラーに配置したいと考えています。現在、ActionName 属性を区別しているにもかかわらず、複数のアクションが見つかったというエラーが発生し続けています。
私は何を間違っていますか?同じコントローラーで 2 つの GET メソッドを使用して、同じ入力を受け取り、異なる URL で呼び出すことはできますか?
ありがとう!