![](/img/trans.png)
[英]C# web API POST JSON data using POSTMAN client results in always NULL in FromBody
[英]C# Web API POST parameter FromBody is always null
我已經在網上搜了好幾個小時,並嘗試了StackOverflow上描述的許多不同的解決方案。 我之前已經問過類似的問題,但沒有一個答案或評論對我有用。
問題:我有一個.NET Web API,它有一個帶有一些參數的Post方法。 其中一個參數是一個復雜的對象,應該從正文中讀取(即JSON)。 但是,此對象始終為null 。
這是我的代碼:
// POST api/worksheets/post_event/true/false
[Route("post_event/{newWorksheet}/{eindEvent}")]
[HttpPost]
public Event Post(bool newWorksheet, bool eindEvent, [FromBody] Event eventData)
{
return eventData;
}
要清楚:eventData是始終為null的對象。 布爾值被正確讀取。
完整的請求正文是:
POST http://localhost:5000/api/worksheets/post_event/true/false
Content-Type: application/json
{"Persnr":1011875, "WorksheetId":null, "Projectnr":81445, "Uursoort":8678, "Tijd":{"09-08-2016 9:25"}}
作為參考,這是Event-class:
public class Event
{
public long Persnr { get; set; }
public int WorksheetId { get; set; }
public int Projectnr { get; set; }
public int Uursoort { get; set; }
public DateTime Tijd { get; set; }
}
我已經嘗試過的一些事情:
根據我讀過的所有解決方案和文檔,它應該按照我上面顯示的方式工作。 我錯過了什么?
您的json對象無效。 我的建議是始終通過json解析器手動編寫json對象,如下所示: http : //json.parser.online.fr/
"Tijd":{"09-08-2016 9:25"}
應該是
"Tijd":["09-08-2016 9:25"]
這種類型的正確JSON應該是正確的
{"Persnr":1011875, "WorksheetId":null, "Projectnr":81445, "Uursoort":8678, "Tijd":"09-08-2016 9:25"}
Tijd沒有花括號,因為Tijd是普通的DateTime屬性,可以從字符串推斷出來,代表DateTime
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.