asp.net - 在 ASP.Net 路由参数处理中指定格式说明符?
问题描述
构建 ASP.Net Core 5.0 服务。为了使该服务镜像我们的其他 API,我想要:
拥有支持以下 URI 的路由
// returns a single item
/api/Items/{id}
// returns multiple items
/api/Items/?date={date}
在上面,{id} 可以是 int 或 guid,日期格式为 YYYYMMDD
夫妻
[ApiController]
[Route("Items")]
public class ItemController: ControllerBase
{
[HttpGet("{id}")]
public Item Get(string id)
{
}
[HttpGet()]
public IEnumerable<Item> Get([FromQuery] DateTime date)
{
return new List<Item> { new Item() };
}
}
当我运行它时,我正在使用 Swagger 功能进行调试,似乎我得到了两种方法:
/Items/{id}
/Items/?date={date}
到目前为止一切顺利,除了我想支持 YYYYMMDD 的日期字符串,但默认日期转换器不支持。
一个 kludge 是把它变成一个字符串并在函数(boo)中转换。理想情况下,我想为所有端点注册一个额外的日期解析器。
想法?
解决方案
推荐阅读
- nservicebus - 如何将依赖项注入 NServiceBus 管道行为?
- node.js - 安装 expo-cli 的问题
- django - Django+Wordpress+Nginx 反向代理 apache
- angular - Angular RxJS - 无法使冷可观察到热
- python-3.x - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'C:\\Users\\DELL\\coil-20-unproc\\obj1_0.png'
- amazon-web-services - AWS CodePipeline 可以使用 aws-cli 之类的标签进行部署吗?
- php - 如何将 JSON 数据动态插入到 foreach 的 PHP 数组中
- java - 如何在 recyclerview GridView Android Studio 中添加按钮
- disassembly - 如何使用 Cutter 或 Radare2 比较两个 EXE 文件、找出差异并反编译它们?
- python - 如何在 docplex python API 中定义指标约束?