Я работаю с инфраструктурой Luracast Restler API и задаюсь вопросом, как организовать структуры классов для создания этого стиля маршрута.
webroot/user/:id/ webroot/user/:id/profile webroot/user/:id/tweets
С возможностью использования GET, PUT, POST, DELETE для каждого:
Class user(){ function get($id){ Do something when GET/webroot/user/:id/ } function put($data){ Do something when PUT/webroot/user/:data/ } } Class profile(){ function get($id){ Do something when GET/webroot/user/:id/profile } } Class tweets(){ function get($id){ Do something when GET/webroot/user/:id/tweets } }
Заранее спасибо!
Вам нужно использовать настраиваемую маршрутизацию URL, используя комментарии PHP Doc. Вот модифицированный пример для вашего варианта использования.
Class User(){ function get($id){ //Do something when GET /webroot/user/:id/ } function put($data){ //Do something when PUT /webroot/user/:data/ } /** * @url GET /:id/profile */ function profile($id){ //get the profile for specified user } }
Вы можете заменить метод POST, DELETE, PUT для редактирования профиля. Также обратите внимание, что вы можете добавить несколько маршрутов, используя синтаксис выше.
Доступны ли пользовательские маршруты для других методов CRUD?
/** * @url POST /create */ protected function post($request_data=NULL) { return $this->dp->insert($this->_validate($request_data)); }
Я правильно звоню по почте
Prepared POST URLRequest '<NSMutableURLRequest http://myserver.com/base/_006_crud/user>'. HTTP Headers: { Accept = "application/json"; "Content-Type" = "application/x-www-form-urlencoded"; }. HTTP Body: ssoid=123&ssotype=facebook&crudID=0&ssoname=mickey.
но когда я звоню из своего кода, я получаю ошибку 404 «Not Found»,
response body: { "error": { "code": 404, "message": "Not Found" } }