ルーティングの問題があり、解決方法がわかりません。
「UsersController」という名前のコントローラーがあり、2 つの Post アクション関数が含まれています。
public int PostFBLogin(User userObject){}
public void PostUpdateImgUrl(User userObject){}
POST リクエストを作成するときは、リクエスト本文で「User」の JSON 表現を渡します。これらの関数のいずれかをコメントアウトすると、正常に機能します。しかし、両方の関数が存在する場合、それぞれにリクエストを送信しようとすると、次のエラーが発生します。
"Multiple actions were found that match the request:
Int32 PostFBLogin(MestoryServer.Models.User) on type MestoryServer.Controllers.UsersController
Void PostUpdateImgUrl(MestoryServer.Models.User) on type MestoryServer.Controllers.UsersController"
ルーティングテーブルに次のルートを入れて解決しようとしました:
RouteTable.Routes.MapHttpRoute(
name: "UserPostUpdateImgUrlAction",
routeTemplate: "api/users/PostUpdateImgUrl/",
defaults: new
{
controller = "users",
action = "PostUpdateImgUrl"
}
);
RouteTable.Routes.MapHttpRoute(
name: "UserPostFBLoginAction",
routeTemplate: "api/users/PostFBLogin/",
defaults: new
{
controller = "users",
action = "PostFBLogin"
}
);
しかし、それは役に立ちませんでした。
インターネット上のルーティング テーブルに関する多くの投稿を見た後、署名が同じで名前が異なる 2 つのアクションが存在する可能性があるかどうかさえわかりません。
誰でも助けることができますか?
ありがとう、エディ。