Tenho um serviço ASP.NET Core 7 Web API implementado em C# e um método definido assim:
[ApiController]
[Route("api/[controller]")]
public class SensorsController : ControllerBase
{
// ...
[HttpGet("{sensorname}/zf")]
public async Task<ActionResult> GetZForecast(string sensorname, [FromQuery]DateTime? when, [FromQuery]string? wind)
{
// ...
}
}
Quero testá-lo com este comando curl:
curl -X get https://localhost:7091/api/Sensors/VK_THC_GreenRoom/zf?when="2025-03-15T08:00:00Z"&wind="Calm"
Por que o wind
parâmetro não é capturado pelo controlador neste caso?
Se eu usar apenas um dos parâmetros de consulta opcionais, como mostrado abaixo, tudo funcionará bem e ambos wind
e when
serão capturados respectivamente:
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"
Então o que estou perdendo?