1

私は2つのアクションを持つアカウントコントローラーを持っていますここに宣言があります:

HttpResponseMessage PostAccount([FromBody] Account account)
public HttpResponseMessage PostLogin([FromBody]string email,[FromBody] string pass)

フィドラーで実行していると、エラーが表示されます。リクエストに一致する複数のアクションが見つかりました。何が起こっているのか少し混乱しています。ログインと登録のためだけに2つのコントローラーを作成する必要がありますか?その標準的な慣行です。

4

1 に答える 1

3

Web API の本体から取得できるパラメーターは 1 つだけです。本体に複数のものが必要な場合は、それらをコンテナー クラスでラップする必要があります。

「投稿」で始まる 2 つのアクションがあるため、発生しているエラーが発生しています。別のコントローラーを作成することもできます。これは、さまざまな種類のエンティティを投稿する場合に適しています。または、アクションベースのルーティングを使用して、次のようなルートを作成できます。

config.Routes.MapHttpRoute("ActionBased", "{controller}/{action}");

POST 時の 2 つのアクションを区別します。

于 2013-02-06T03:20:29.907 に答える