我試圖從我的客戶端(角度)傳遞一個日期物件到我的 API。(POST 請求)
不幸的是,API 收到了它,但日期絕對錯誤。
發送: 2021 年 11 月 11 日星期四 10:00:00 GMT 0200
修訂: 1/1/0001 12:00:00 AM
控制器:
[HttpPost("{appointment}")]
public async Task<ActionResult> SetAppointment(DateTime setAppointment)
{
// code
}
客戶端
setAppointment(date) {
return this.http.post(environment.apiUrl 'barber/appointment', date);}
當 date - 是 DateTime 物件時。
我嘗試將它作為字串發送,然后將其決議為 DateTime 物件,它有點作業,但這不是我想要的結果。
我已經嘗試在發送之前將日期顯式決議為客戶端上的 DateTime 物件,但效果不佳。
預期的結果是在控制器中立即將日期作為 DateObject 獲取。
關于為什么會發生這種事情的任何想法?我知道 js 和 c# 以不同的方式處理 DateTime 物件,但并不真正理解如何在不將其作為字串發送的情況下修復它或解決它。
謝謝 !!!
uj5u.com熱心網友回復:
問題一:引數命名
注釋[HttpPost("{appointment}")]包含一個變數appointment,該變數沒有被方法捕獲,SetAppointment因為沒有一個引數具有此名稱。相反,您有一個名為setAppointment. 名稱必須匹配。
問題二:URI
問題中沒有提供示例 URI,請確保它被正確編碼,因為這是一個常見的陷阱。
問題三:日期格式
通常,服務器可能有多種不同型別的客戶端使用它。通常,客戶端符合服務器的日期格式(盡管使用標準日期格式)。您可以選擇讓服務器遵循您正在傳遞的格式Angular,只要它已編碼。在這種情況下,你可以檢索,而不是appointment作為一個string使用決議它的自定義日期和時間格式符合哪些服務器將接收。
uj5u.com熱心網友回復:
使用momentAngular 中的庫以將自動轉換為 DateTime 格式變數的格式發送所需的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/354056.html
上一篇:如何根據索引獲得矩陣的下對角線?
下一篇:C#APIHTTP動態引數
