У меня есть интерфейс запроса, который позволяет, скажем, 4 возможных поля для запроса: имя, год рождения, астрологический знак и состояние рождения. Пользователь может указать значение для любого из этих полей. Я использую AngularJS (здесь несущественно) и YiiFramework (материально).
Я видел ответы на подобные вопросы, но по большей части люди используют параметры строки запроса. Я могу объяснить это в своем urlManager, но предпочел бы сделать это «правильным» способом RESTful. Я видел примеры, показывающие, как это сделать:
/myservice/index.php/names/jones?birthyears=&signs=leo&birthstates=maine — это означает, что они не указали год рождения
Моя мысль сделать это полностью с путями, пропускающими пустые значения. Это разумный подход:
/myservice/index.php/api/имя модели/имена/джонс/годы рождения//знаки/лев/состояния рождения/мейн
если да, то я борюсь с шаблоном urlManager
массив('api/найти', 'шаблон'=›'api/‹модель:\w+›/имена/‹имена:(|\w+)›/годы рождения/‹годы рождения:(|\d{4})›/ знаки/‹знаки:(|\w+)›/состояния рождения/‹состояния рождения:(|\w+)›', 'глагол'=›'ПОЛУЧИТЬ')
когда я прохожу указанный выше путь, я не получаю ожидаемого разрешения. Я уверен, что есть лучший способ справиться с этим