2014-11-23 66 views
0

您好我試圖使API發送數據封裝與JSON。cakephp如何發送數據從控制器查看與json

作爲cakephp的手冊所述,我添加擴展在routes.php文件

$routes->extensions(['json]); 

,我已經取得了控制器的索引函數。

public function index(){ 
    $item = $this->Items->find('all'); 
    $this->set(['items' => $items, '_serialize' => ['items']]); 
} 

這裏是問題所在。

我應該怎樣做才能讓api封裝成json?

請幫忙。

謝謝

回答

0

根據蛋糕2.X書(http://book.cakephp.org/2.0/en/development/rest.html

你必須把它添加到您的routes.php文件文件:

Router::mapResources('items'); 
Router::parseExtensions(); 

然後,在你的項目控制器,將RequestHandler添加到組件數組中:

public $components = array('RequestHandler'); 

然後,在您的i TEMS控制器,增加你的方法,在你的榜樣:

public function index() { 
    $recipes = $this->Items->find('all'); 
    $this->set(array(
     'items' => $items, 
     '_serialize' => array('items') 
    )); 
} 

注:根據型號名稱約定,你應該調用$這個 - >項目,而不是$這個 - >產品,除非你前面定義的型號名稱爲「項目「(單數)在你的物品模型文件中。

最後,API完成後,您可以訪問yourprojecturl/items.json並查看json結果。

+0

$this->Items->find('all');哇!!非常感謝你讓我知道。我錯誤地理解了Cake2.x Book中的REST手冊。謝謝!!!!!你真棒! – 2014-11-24 01:54:24

0

我曾與RicardoCamacho代碼的麻煩,直到我用了$recipes,這是在$this->set(array...

public function index() { 
    $recipes = $this->Items->find('all'); 
    $this->set(array(
     'items' => $recipes, 
     '_serialize' => array('items') 
    )); 
} 
相關問題