在Web API 中將JSON POST 資料作為物件傳遞
ASP.NET MVC4 Web API 應用程式通常定義POST 方法來處理資料提交。開發者在接收請求體中的JSON資料時,可能會遇到POST參數設定為空的問題。要解決此問題,確保正確使用 Content-Type 和模型綁定非常重要。
Content-Type:
預設情況下,ASP.NET 使用Content -Type: application/x-www-form-urlencoded,這對於傳送JSON 資料來說並不理想。若要指定 JSON,請在請求標頭中設定 Content-Type: application/json。
模型綁定:
要啟用模型綁定,請使用 [ 裝飾 POST 方法參數來自正文]。此屬性指定資料應從請求正文而不是 URL 查詢字串綁定。
範例:
在提供的範例中,控制器方法需要一個請求正文中的客戶物件。若要修復空值問題,請確保在請求標頭中指定 Content-Type: application/json 並使用 [FromBody] 修飾參數,如下所示:
public object Post([FromBody] Customer customer)
在客戶端,使用 JSON。 stringify 在發送 POST 請求之前將 Customer 物件轉換為 JSON 字串。
複雜對象:
對於更複雜的對象,例如具有嵌套屬性或列表的對象,同樣的方法適用。使用 JSON.stringify 在客戶端序列化物件並確保設定正確的 Content-Type 標頭。
故障排除:
如果模型綁定無法正常運作,請考慮以下事項:
以上是如何在 ASP.NET MVC4 Web API 中使用模型綁定正確處理 JSON POST 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!