2017-11-03 21 views
2

私はASP.Net Core 2 Web APIを開発していますが、なぜPOSTメソッドのパラメータがnullになっているのかわかりません。POSTメソッドのパラメータは常にnullです。

私は郵便配達でそれをテストしてみた:

enter image description here

そして、私はproOrdsパラメータがnullの取得:

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

これは私が送っJSONです:

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

クラスは:

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; } 
} 

何が間違っていますか?

+0

'List 'の代わりに 'Models.ProductionOrderPresentation []'配列を使用するとどうなりますか? – Kostya

+0

@ KostyaKありがとうございますが、それでもnullです。多分、このパラメータは体内にはありませんが、私はそれを郵便局の身体にセットしました。 – VansFannel

+4

あなたの 'Reduction'は' byte'で、その値には '4444'を渡します。これはバイトの範囲をかなり超えています。 – Evk

答えて

1

列の範囲は0〜255の範囲のbyteですが、その列の値として4444を渡します。あなたが投稿するアイテムは本当にあなたのモデルクラスにマップされていないので、asp.netによって無視されます。

関連する問題