Я новичок в php и использую Slim Framework для разработки простого Rest Api.
Согласно документации, Slim использует FastRoute.
У меня есть маршрут с дополнительными параметрами (поставщик и количество), например:
path/items/{id}/{name}/{price}[/{vendor}[/{quantity}]]
Проблема в том, что если я уйду продавец пустое значение количество идет к продавцу и количество не будет заполнено. Я понимаю, что с быстрыми маршрутами я не могу этого достичь. Но как я могу это сделать?
Спасибо.
Если вы собираетесь иметь необязательные параметры, которые имеют одинаковые типы и могут быть отправлены в любом порядке, вы можете либо использовать строки запроса, либо иметь фиксированный формат, в котором вы добавляете что-то вроде 0 вместо того, чтобы пропустить его. Пример, где «vendor» не установлен:
/10/somename/15/0/12
Тогда параметры не являются обязательными в URL / маршруте, но вы можете обработать это в своем контроллере, просто игнорируя их, если параметр равен нулю.
Других решений пока нет …