我正在尝试在 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。不太确定从这里去哪里。