1

こんにちは、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)
4

0 に答える 0