Параметры маршрутизации MVC API - PullRequest
0 голосов
/ 11 июля 2019

У меня есть веб-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));
    }

}

1 Ответ

0 голосов
/ 11 июля 2019

Исправлено с помощью

 [Route("GetPricesForRace")]

вместо

[Route("GetPricesForRace/{meetingDate}/{courseId}/{raceNumber}/{ShowAll?}")]

Теперь я могу использовать как строку запроса.

...