2014-12-02 2 views
0

Я использую Restler 3, и я пытаюсь очень простая маршрутизация URL:Restler автоматически не маршрутные требуемые параметры в URL

GET /method/{param} 

Моего метод класс апи получает параметры, как первый обязательный параметр, но он только получает его, если я передам его через запрос (GET/method? param = value)

Похоже, что из документов маршрутизации (ссылка: http://restler3.luracast.com/examples/_006_routing/readme.html) это должно быть поведение по умолчанию. Я также пробовал играть с Defaults::$smartAutoRouting = false;, который, похоже, не работал.

Начиная с Restler 3, интеллектуальные автоматические маршруты создаются, где дополнительные параметры будут отображаться в строку запроса, требуется примитивные типы будут отображенные Путь URL, объекты ана массив будет отображаться в теле запроса.

+0

только для того, чтобы убедиться, что вы используете следующий формат? '@url GET/method/{param}' Использование RC5 или RC6? – Luracast

+0

@ Luracast Я не уверен. Можете ли вы объяснить, что такое RCx, и как я могу узнать, какой из них? Ваш формат (добавление @url) частично работает для меня, он перенаправляет {param} на требуемый параметр, но он удаляет необязательные параметры из API-explorer и вместо этого добавляет 'REQUEST_BODY'. – Noam

+0

Чтобы быть более конкретным, если мой метод выглядит так: 'function foo ($ reqParam, $ optionalParam1 = null, $ optionalParam2 = null)' и я помещаю phpdoc '@url GET/{reqParam}/method'' optionalParam1' и 'optionalParam2' не отображаются в проводнике API в качестве необязательных полей, а вместо этого добавляется' REQUEST_BODY'. – Noam

ответ

1

Мы только что исправили эту ошибку в RC5. Загрузите обновление и повторите попытку!