このようにWebApiに複数のパラメータを渡すことができないため、エラーが発生します。
最初のオプション:
あなたがクラスを作成し、このように体内からを介してデータを渡すことができます:
public class Foo
{
public string email {get;set;}
public string password {get;set;}
}
public HttpResponseMessage Register([FromBody] Foo foo)
{
//do something
return Ok();
}
番目のオプション:
public HttpResponseMessage Register([FromBody]dynamic value)
{
string email= value.email.ToString();
string password = value.password.ToString();
}
そして、このようにJSONデータを渡す:
{
"email":"[email protected]",
"password":"[email protected]"
}
更新日:
URLからデータを取得したくない場合は、属性ルーティングを使用できます。
[Route("api/{controller}/{email}/{password}")]
public HttpResponseMessage Register(string email, string password)
{
//do something
return Ok();
}
注:
URLは次のようになります。http://localhost:50435/api/SignUp/[email protected]/[email protected]
することは、この方法を使用する場合は、セキュリティ上の問題を持っていますWebApiConfig
のルーティング属性を有効にすることを忘れないでください。
これはコンパイルされますか?あなたのパラメータリストに "["が1つあります... –
WebApiの動作をテストするには、[TestClient](https://blogs.msdn.microsoft.com/yaohuang1/2012/12/02/adding-a)を使用することをお勧めします。 -simple-test-client-to-asp-net-web-api-help-page /)または[Fiddler](http://www.telerik.com/fiddler)の作曲家に依頼する – Marusyk
http:// stackoverflowも参照してください.com/questions/38418787/web-api-post-method-which-classを受け取る方法 – Marusyk