2016-08-03 4 views
0

私は、リソースの製品と私のAPIを定義している:JSONリクエスト以下Asp.netウェブAPI入力プロパティタイプ

public class Product 
{ 
    public int Id { get; set; }   
} 

提出:

  1. { "ID":4}
  2. { " Id ":" 4 "}

いずれの場合も成功します。バインディング中に文字列が有効な整数である場合に例外をスローしないことが期待されますか?

+1

いいえです。モデルバインダーは文字列 "4"を使用して整数Idプロパティにバインドできます。 – Shyju

答えて

0

バインディングでは、これらのタイプを自動的に解決できます。 Int32.MaxValue(2,147,483,647)より大きい値がリスト内にある場合にのみ問題になります。

+0

型を強制する解決策は何でしょうか? – voutrin

+0

私が言ったように、あなたはモデルバインダーがそれを変換することができるので、4から4の整数に "4"を強制する必要はありません。しかし、Int32への変換を強制したい場合は、カスタムモデルバインダーを作成し、Convert.ToInt32(value)を適用して、変換を実行できます。 –

関連する問題