将Datetime参数传递到Web Api的最佳实践

问题描述

我有一个Api呼叫,其签名如下:

[Route("TaskToDo/{userId}/{dateFrom}/{dateTo}")]
public async Task<IActionResult> GetTaskToDo(string userId,DateTime dateFrom,DateTime dateTo)

当我输入诸如 '13 -08-2020'之类的日期时,我无法迅速地调用api调用 因为它假定会在DD-MM-yyyy中出现。

解决此问题的最佳方法是什么。 我应该更改方法签名并将字符串中的日期时间作为

应该定义api应该以特定格式接收日期。

解决方法

您可以使用ISO格式(2020-08-13T00:00)发送日期,JsonSerializer可以将此日期转换为有效的日期时间。

要在URL中发送日期,您必须对其进行编码,例如:

2020-08-13T00:00-> 2020-08-13T00%3A00

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...