您好我正在尝试创建一个API来发送使用json封装的数据。
正如cakephp手册所说,我在routes.php中添加了扩展名
$routes->extensions(['json]);
我在控制器中创建了一个索引函数。
public function index(){
$item = $this->Items->find('all');
$this->set(['items' => $items, '_serialize' => ['items']]);
}
这是问题所在。
我应该怎么做才能用json封装api ??
请帮忙。
谢谢
答案 0 :(得分:0)
根据Cake 2.x Book(http://book.cakephp.org/2.0/en/development/rest.html)
您必须将此添加到routes.php文件中:
Router::mapResources('items');
Router::parseExtensions();
然后,在项目控制器中,将RequestHandler添加到组件数组中:
public $components = array('RequestHandler');
然后,在您的项目控制器中,添加您的方法,在您的示例中:
public function index() {
$recipes = $this->Items->find('all');
$this->set(array(
'items' => $items,
'_serialize' => array('items')
));
}
注意:根据型号名称约定,您应该调用$ this-> Item而不是$ this->项目,除非您之前将模型名称定义为"项目" (单数)在您的项目模型文件中。
最后,API完成后,您可以访问yourprojecturl / items.json并查看json结果。
答案 1 :(得分:0)
我使用RicardoCamacho的代码时遇到问题,直到我使用Agent.Administrator = { isAdmin: false };
$recipes
$this->Items->find('all');
为$this->set(array...
public function index() {
$recipes = $this->Items->find('all');
$this->set(array(
'items' => $recipes,
'_serialize' => array('items')
));
}