У меня есть веб-API MVC на .NET Core 2.2
Когда я использую URL, например: https://localhost:44374/HorseRacingApi/prices/GetPricesForRace/2019-07-11T00:00:00/14/1
Работает нормально, но когда я использую URL как строку запроса: https://localhost:44374/HorseRacingApi/prices/GetPricesForRace?meetingDate=2019-07-11T00:00:00&courseId=14&raceNumber=1
Я получаю ошибку 404, есть ли способ это исправить?
Вот следующий контроллер и настройка маршрута:
[Route("HorseRacingApi/[controller]")] [Produces("application/json")] [ApiController] public class PricesController : Controller { public IPriceService _priceService; public PricesController(IPriceService priceService) { _priceService = priceService; } [HttpGet] [Route("GetPricesForRace/{meetingDate}/{courseId}/{raceNumber}/{ShowAll?}")] public IActionResult GetPricesForRace(DateTime meetingDate, int courseId, int raceNumber, bool? ShowAll = false) { return Ok(_priceService.GetPricesForRace(meetingDate, courseId, raceNumber)); } }
Исправлено с помощью
[Route("GetPricesForRace")]
вместо
[Route("GetPricesForRace/{meetingDate}/{courseId}/{raceNumber}/{ShowAll?}")]
Теперь я могу использовать как строку запроса.