1

私は WebAPI を初めて使用し、カスタム メソッドの呼び出しにいくつか疑問がありました。そのため、Entity Framework を使用して、基本的な CRUD メソッドを使用して WebAPI を作成しました。しかし、いくつかのカスタム メソッドを追加したいのですが、配列をパラメーターとして呼び出すことは可能ですか? はい、いつ、どのように?

これは私の方法です:

public void AddRoles(Guid userid, Guid[] roleids)

では、webapi を介してこのメ​​ソッドを呼び出すにはどうすればよいでしょうか? で試してみました

http://localhost:60690/api/MyController/AddRoles...

また、void メソッドを呼び出すことはできますか? 応答は何ですか?

感謝と挨拶、ヨルグ

4

2 に答える 2

3
http://localhost:60690/api/MyController/AddRoles?userid=<user id guid here>&roleids=<guid1 here>&roleids=<guid2 here>...

void メソッドに関しては、もちろん可能ですが、レスポンスは 200 個のコードと空のボディで返されます。

于 2013-05-29T11:36:32.637 に答える
1

GET については、次の SO の質問を参照できます。

整数の配列を ASP.NET Web API に渡す方法は?

POST を使用したい場合は、読み続けてください。

次のようなパラメーターの DTO を作成する必要があります。

public class AddRoleModel
{
    Guid UserId { get; set; }
    Guid[] RoleIds { get; set; }
}

次のように、2 つの異なるパラメーターの代わりに、Accept POST と新しい AddRoleModel DTO を受け入れるようにメソッドを変更します。

[HttpPost]
public void AddRoles(AddRoleModel model)
{
   ...
}

そして、そのモデルのjsonをメソッドにPOSTします

json は次のようになります。

{    
    UserId: "{guid}",
    RoleIds: ["{some guid}", "{some other guid}"]
}
于 2013-05-29T11:41:31.223 に答える