新しいASP.NET Web APIを理解しようとしています。
これまでのところ、このメソッドシグネチャを作成して正常に接続し、有効な応答を取得することができました...
[HttpPost]
public HttpResponseMessage CreateAccount()
私はフィドラーでこのメソッドにリクエストを送信でき、リクエストを受信していることを確認しました。
ただし、データを渡そうとするのは、問題が発生したときです。
私が最初に試したのは...
[HttpPost]
public HttpResponseMessage CreateAccount([FromBody]string email, [FromBody]string password)
そして私は
メール:xyz、パスワード:abc
バイオリン弾きのリクエストの本文に。これを行うと、500エラーが表示されます
「リクエストのコンテンツに複数のパラメータ(「メール」と「パスワード」)をバインドすることはできません。」
これもメソッドシグネチャとして試しました...
[HttpPost]
public HttpResponseMessage CreateAccount([FromBody]UserAccountRequestData data)
userAccountRequestDataが単純なPOCOである
public class UserAccountRequestData
{
public string Email { get; set; }
public string Password { get; set; }
}
そして私は
{メール:xyz、パスワード:abc}
または
data:{Email:xyz、Password:abc}
リクエストの本文に。どちらの場合でも、POCOにデータを入力しようとすると、デバッグ中にメソッドに到達できますが、データオブジェクトは常にnullです。
強く型付けされたPOCOと、文字列やintなどの複数のプリミティブ型を受け入れる他の両方を受け入れるAPIメソッドを作成する方法を理解する必要があります。
ありがとう
Content-Type
ヘッダーをapplication/json
に設定してから、有効なJSONを提供する必要があります。
{"Email":"xyz","Password":"abc"}