簡體   English   中英

如何將日期時間參數作為字符串傳遞給 Web api 控制器 (httpPut) PutAysnc

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM