Как отправить данные с контроллера для просмотра с помощью JSON?

0

Привет, я пытаюсь сделать API для отправки данных, инкапсулирующих с помощью json.

как сказал cakephp manual, я добавил расширения в routes.php

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

и я сделал функцию индекса в контроллере.

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

вот проблема.

что я должен делать после этого, чтобы сделать api инкапсулированием с помощью json?

Пожалуйста помоги.

Спасибо

Теги:
cakephp

2 ответа

0
Лучший ответ

Согласно книге Cake 2.x(http://book.cakephp.org/2.0/en/development/rest.html)

Вы должны добавить это в свой файл route.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-> Элементы, если ранее вы не определяли имя модели как "Item" (единственное значение) в файле модели объекта.

Наконец, API завершен, вы можете получить доступ к yourprojecturl/items.json и посмотреть результат json.

  • 0
    Ух ты! Огромное спасибо, что сообщили мне об этом. Я неправильно понял руководство для ОТДЫХА в книге cake2.x. Спасибо !!!!! ты классный !!
0

У меня были проблемы с кодом RicardoCamacho, пока я не использовал $recipes, который является $this->Items->find('all'); в $this->set(array...

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню