Как вы организуете классы Luracast Restler для создания связанных конечных точек маршрута? - PullRequest
2 голосов
/ 13 ноября 2011

Я работаю со структурой API Luracast Restler и мне интересно, как организовать структуры классов для создания этого стиля маршрута.

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
 }
}

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 13 ноября 2011

Вам нужно использовать пользовательскую маршрутизацию 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 для редактирования профиля. Также обратите внимание, что вы можете добавить более одного маршрута, используя синтаксис выше.

1 голос
/ 07 января 2012

Разрешены ли пользовательские маршруты для других методов CRUD?

/**
* @url POST /create
*/      
protected function post($request_data=NULL) {
    return $this->dp->insert($this->_validate($request_data));
}

Я правильно вызываю POST

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"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...