-1

ここで何が間違っているのかわかりません。コントローラーにリクエストを POST するたびに、更新アクションが常に呼び出されます。呼んでいます:

http://localhost/members/login/

ただし、Update は引き続き要求を受け取ります。コントローラーのアクションの順序を無駄に切り替えようとさえしました。

[RoutePrefix("Members")]
public class MembersController : ApiController
{
    [POST("{member}")]
    public void Update(Member member)
    {
        //Do Some Stuff
    }

    [POST("Login/{member}")]
    public HttpResponseMessage MemberLogin(Member member)
    {
       //Do Some Stuff
    }
}

どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

0

これは、Api ルーティングにとっては同じであるためです。この記事では、ルーティングとアクションの選択が Web API でどのように行われるかについて詳しく説明します。それらを 2 つのコントローラに分割したくない場合はUpdatePUTリクエストとして作成します。これにより、ルーティング エンジンに、これらが 2 つの異なるアクションであることを伝える必要があります。

于 2013-04-05T03:22:49.673 に答える
0

私は試行錯誤によってそれを理解しました(何時間も:/)

[RoutePrefix("Members")]
public class MembersController : ApiController
{
    [POST("Update")]
    public void Update(Member member)
    {
        //Do Some Stuff
    }

    [POST("Login")]
    public HttpResponseMessage MemberLogin(Member member)
    {
       //Do Some Stuff
    }
}

なぜこれが機能するのかはわかりませんが、最終的には私に来ると確信しています。

于 2013-04-05T04:03:59.070 に答える