CakePHP 2.3 アプリでいくつかの REST API エンドポイントをセットアップしようとしています。jsonを出力するいくつかの方法を使用してみました。ブラウザーで URL をヒットすると機能しますが、EmberJS RestAdapter による呼び出しは失敗し、空の応答本文で応答します。これが私の現在のコントローラーです。
App::uses('Controller', 'Controller');
App::uses('AppController', 'Controller');
class VcrAppController extends AppController {
public $viewClass = 'Json';
}
App::uses('VcrAppController', 'Vcr.Controller');
class DestinationsController extends VcrAppController
{
public $uses = array('Vcr.Destination');
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('index');
$this->Auth->allow('view');
}
public function index()
{
$destinations = $this->Destination->find('all');
$this->set(array(
'destinations' => $destinations,
'_serialize' => array('destinations')
));
}
public function view($destination_id)
{
$destination = $this->Destination->findById($destination_id);
$this->set(array(
'destination' => $destination,
'_serialize' => array('destination')
));
}
}
これはリクエストハンドラーと関係があると思われます。mapresources や parseextensions など、いくつかの異なる実装を試し、emberjs を変更して .json を URL に追加しました。ここからどこへ行くべきかよくわかりません。