こんにちは、RestAPI に公開する関数があります。定義済みのクラスになるように JSON 文字列を渡す必要があります。JSON 形式には次のクラスを使用します。
public class Registrant : Guest
{
public int RegistrantID { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public int EventID { get; set; }
public bool IsPrimary { get; set; }
}
そして、コントローラーに次の機能があります。
public HttpResponseMessage Create(string id, [FromBody]Registrant registrant)
ただし、JSON 文字列に同じ構造を渡すと、正しく逆シリアル化できませんでした。
何か問題がありますか?
PS: リクエスト本文の JSON 文字列:
{
"RegistrantID":"0",
"Email": "abc@abc.com",
"Phone": "123456789",
"EventID": "8",
"IsPrimary": "true",
"CustomerId": "12345678",
"FirstName": "abc",
"LastName": "def"
}
更新: この問題は、Content-Type を Application/Json として選択することで解決されます。また、int および bool パラメーターの引用符を削除しました。最後に、API 呼び出しはプロジェクトで次のようになります。
public HttpResponseMessage Create([FromUri]string id, [FromBody]Registrant registrant)