2017-11-03 1 views
2

Ich entwickle ein ASP.Net Core 2 Web API und ich weiß nicht, warum ich NULL den Parameter einer POST-Methode bekomme.Parameter der POST-Methode ist immer Null

Ich habe es mit PostMan getestet:

enter image description here

Und ich bekomme die proOrds Parameter ist null:

[HttpPost("[action]")] 
public void Save([FromBody] List<Models.ProductionOrderPresentation> proOrds) 

Dies ist die JSON Ich schicke:

[{ 
    "ProductionOrderId": 0, 
    "ProductId": 7, 
    "LawId": 0, 
    "Name": "rrrr", 
    "Created": null, 
    "Phase": 0, 
    "NumItems": 123, 
    "Reduction": 4444 
}] 

Und die Klasse ist:

public class ProductionOrderPresentation 
{ 
    public int ProductionOrderId { get; set; } 
    public int ProductId { get; set; } 
    public byte LawId { get; set; } 
    public string Name { get; set; } 
    public string Created { get; set; } 
    public byte Phase { get; set; } 
    public int NumItems { get; set; } 
    public byte Reduction { get; set; } 
} 

Was ist falsch?

+0

Was passiert, wenn Sie 'Models.ProductionOrderPresentation []' Array anstelle von 'List ' versuchen? – Kostya

+0

@ KostyaK Danke, aber es ist immer noch null. Vielleicht ist der Parameter nicht im Körper, aber ich setze ihn im Körper in PostMan. – VansFannel

+4

Ihre 'Reduction' ist' byte' und Sie übergeben '4444' für ihren Wert, der ziemlich mehr als Bytebereich ist. – Evk

Antwort

1

Ihre Reduction-Spalte ist vom Typ byte, die den Bereich 0-255 hat, aber Sie übergeben 4444 als Wert für diese Spalte. So wird der Posten, den du postest, nicht wirklich deiner Modellklasse zugeordnet und wird daher von asp.net ignoriert.