[英]How to pass Datetime parameter as string to web api controller (httpPut) PutAysnc
這是有效的:(但只有日期被傳遞給api)
public async Task ConfirmFLSANotice(string mechNbr, DateTime AcceptedDate)
{
await PutAsync("confirmflsanotice", mechNbr, AcceptedDate.ToString("yyyy-MM-dd"));
}
在這里,我只傳遞日期,但我也想傳遞時間,但除了 this("yyyy-MM-dd") 之外沒有其他格式可以工作。 嘗試了多種方法。
這是控制器代碼:
[JwtAuthentication]
[Route("api/login/confirmflsanotice/{mechNbr}/{AcceptedDate}/")]
[HttpPut]
public void ConfirmFLSANotice(string mechNbr, DateTime AcceptedDate)
{
var proxy = DsRegistry.Current.GetService<IUserDsService>();
proxy.ConfirmFLSANotice(mechNbr, AcceptedDate);
DsRegistry.Current.CloseService(proxy);
}
請幫忙,我無法更改控制器代碼。
您需要以Binder
可以解釋的格式發送日期。 只需傳遞AcceptedDate.ToString("O")
,它將日期時間轉換為ISO-8601 ,這是將日期和時間從一個接口傳遞到另一個接口的默認格式。
另外我建議你在路由中指定類型,這樣可以避免使用無效參數的調用:
[Route("api/login/confirmflsanotice/{mechNbr:int}/{AcceptedDate:datetime}/")]
我能夠通過傳遞刻度,然后在后端將這些刻度轉換為日期時間來解決該問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.