我有一个用 C# 实现的 ASP.NET Core 7 Web API 服务和一个定义如下的方法:
[ApiController]
[Route("api/[controller]")]
public class SensorsController : ControllerBase
{
// ...
[HttpGet("{sensorname}/zf")]
public async Task<ActionResult> GetZForecast(string sensorname, [FromQuery]DateTime? when, [FromQuery]string? wind)
{
// ...
}
}
我想用这个 curl 命令来测试它:
curl -X get https://localhost:7091/api/Sensors/VK_THC_GreenRoom/zf?when="2025-03-15T08:00:00Z"&wind="Calm"
为什么wind
在这种情况下控制器无法捕获该参数?
如果我只使用一个可选查询参数(如下所示),那么一切都可以正常工作,并且wind
分别when
捕获和:
curl -X get https://localhost:7091/api/Sensors/VK_THC_GreenRoom/zf?when="2025-03-15T08:00:00Z"
curl -X get https://localhost:7091/api/Sensors/VK_THC_GreenRoom/zf?wind="Calm"
那么我错过了什么?