я делаю навык Алексы, чтобы дать информацию о еде. С этим навыком пользователи смогут запрашивать меню. Они могут запросить только меню, или они могут запросить конкретное меню c, такое как меню завтрака. Но я хочу, чтобы параметр завтрака и параметр для типа меню, такого как десертное меню, были необязательными. Теперь я отправляю запрос GET на URL: ... / День / (день) / Слот / (слот) / Тип / (тип). В этом URL я хочу, чтобы слот и параметр типа были пустыми.
Мой код сейчас: Контроллер:
[HttpGet]
[Route("something/Day/{day:datetime}/Slot/{slotId:long?}/Type/{typeId:long?}")]
public async Task<List<something>> GetMeals(LocalDate day, long slotId = 1, long? typeId = null)
Запрос находит контроллер, когда оба параметра не равны NULL или только параметр typeId равен NULL. Но когда оба или null или когда только параметр slotId равен null, запрос не находит контроллер. Когда оба параметра равны нулю, запрос выглядит так: «что-то / день / 2020-02-20 / слот // тип /»
Я не могу изменить маршрут, потому что конечная точка используется другими приложениями.
Что я делаю не так? Спасибо за помощь.