CakePHP Route для API - PullRequest
       10

CakePHP Route для API

1 голос
/ 10 февраля 2011

По сути, я разрабатываю API с пирогом, и я хотел бы добавить в свой URL элемент управления версиями, чтобы позже было проще обновить API.

В данный момент я не ищу причудливых маршрутов, просто этот маршрут

domain.com / api / 1.9 /: контроллер работает.

Мне трудно заставить это работать. На данный момент простые запросы работают, но отправка запроса POST на domain.com/api/1.0/pictures/ не удалась.

Ответы [ 2 ]

4 голосов
/ 12 декабря 2012

У Фрэнка Малленгера есть лучшее решение для версии API CakePHP, которое я нашел. Он опубликовал серию из трех частей, в которой хорошо используются маршрутизация Cake и некоторые пользовательские методы API.

Первая часть (проблема с не версионными API)

Вторая часть (решение для CakePHP)

Третья часть (обработка ошибок)

0 голосов
/ 10 февраля 2011

Мысль о том, что вы хотите делать, не используя умную маршрутизацию, вам нужно немного изменить URL остального вызова.

вместо

domain.com/api/1.0/pictures/$param1/$param2/$etc

try

domain.com/api/pictures/1.0/$param1/$param2/$etc

затем в контроллере,

class Pictures extends controller {
  ....
  function pictures( $ver , $param1, $param2, $etc) {
    switch($ver) {
      case '1.3':
        $this->setAction('pictures_1-3', $param1, $param2, $etc);
        break;
      case '1.2':
        $this->setAction('pictures_1-2', $param1, $param2, $etc);
        break;
      case '1.1':
      default:
        $this->setAction('pictures_1-1', $param1, $param2, $etc);
        break;
     }
   }

   function pictures_1-3() {}
   function pictures_1-2() {}
   function pictures_1-1() {}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...