MVC маршрутизация, когда URL-путь является нулевым - PullRequest
0 голосов
/ 23 сентября 2019

В моем контроллере определены 2 маршрута:

    [HttpGet]
    [Route("{customerId}")]
    public IActionResult GetCustomerOrders(string customerId)
    {
    }

    [HttpGet]
    [Route("{customerId}/{orderId}")]
    public IActionResult GetCustomerOrder(string customerId, string orderId)
    {
    }

Теперь, если кто-то передает URL-адрес, например http://myApp/api/Orders//6d1a30ed-045b-4ea3-845e-e1b7ebd8f6a5 (значит, customerId равен нулю);оно заканчивается совпадением на первом маршруте (с orderId в параметре customerId);но я очень хочу, чтобы он пошел на 2-й.Как я могу сделать так, чтобы он приземлился на 2 с нулевым значением в customerId?

1 Ответ

0 голосов
/ 23 сентября 2019

Пара вещей./ api / orders предполагает, что вы используете web api.Я предполагаю, что вы хотите сообщить этот URL пользователям, чтобы просмотреть, однако.Я бы предложил вам удалить API в URL.

[Route("{customerId}")]

должно быть

[Route("api/Orders/{customerId}")]

А остальные

[Route("api/Order/{customerId}/{orderId}")]
...