2016-08-03 15 views
0

Ich habe meine api mit Mittel-Produkte definiert:Asp.net web api Eingabe Objekttyp

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

einreichenden folgende json Anfragen:

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

In beiden Fällen gelingt. Ist das erwartete Verhalten, dass keine Ausnahme ausgelöst wird, wenn die Zeichenfolge während des Bindens eine gültige Ganzzahl ist?

+1

Nein ist es. Der Modellbinder kann die Zeichenfolge "4" verwenden, um an die Integer-Id-Eigenschaft zu binden. – Shyju

Antwort

0

Die Bindung kann diese Typen automatisch auflösen. Es wird nur ein Problem sein, wenn ein Wert innerhalb dieser Liste größer als Int32.MaxValue (2.147.483.647) ist.

+0

Was wäre eine Lösung, um den Typ zu erzwingen? – voutrin

+0

Wie gesagt, Sie müssen nicht "4" von JSON zu 4 Integer erzwingen, da der Modellbinder es konvertieren kann. Wenn Sie jedoch die Konvertierung in Int32 erzwingen möchten, können Sie dies tun, indem Sie einen benutzerdefinierten Modellbinder erstellen und Convert.ToInt32 (Wert) anwenden. –