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

问题描述

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

[Route("TaskTodo/{userId}/{dateFrom}/{dateto}")]
public async Task<IActionResult> GetTaskTodo(string userId,DateTime dateFrom,DateTime dateto)
@H_404_5@

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

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

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

解决方法

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

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

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