Я пытаюсь создать Rest API без просмотра и планирую использовать эти API в приложении angular 2. имеет какое-нибудь представление об этом?
Создание Rest API без представлений с помощью cakePHP 3.5
comment
Начать читать инструкцию? book.cakephp.org/3.0/en/development/rest.html
- person floriank   schedule 16.09.2017
Ответы (3)
С тортом это невероятно легко. Несколько вещей, которые я научился строить без представлений.
Установите переменную _serialize
$data = ['cheeses' => ['gouda', 'pepper jack', 'cheddar']];
$this->set('responseData', $data);
$this->set('_serialize', 'responseData');
Выдавать исключения из-за неверных запросов и другие исключения, связанные с сетью
Cake будет отображать для вас красивые представления json.
Установите заголовок accept при выдаче и запросе ajax как application/json
Вы можете использовать префиксы торта для версий API
Посмотрите Аутентификация без сохранения состояния для вашего API
person
styks
schedule
01.10.2017
В вашем AppController.php
с этими параметрами все ваши контроллеры будут рендериться в json
public function beforeRender(Event $event)
{
$this->RequestHandler->renderAs($this, 'json');
$this->response->type('application/json');
$this->set('_serialize', true);
}
person
eclaude
schedule
30.12.2017
CakePHP легко отобразит json.
В вашем контроллере выглядите как-то.
protected $responseBody = [];
public function beforeRender(Event $event){
foreach($this->responseBody as $responseKey=>$response){
$this->set($responseKey, $response);
}
$this->set('_serialize', array_keys($this->responseBody));
}
public function initialize()
{
parent::initialize();
$this->RequestHandler->renderAs($this, 'json');
}
public function index(){
$this->request->allowMethod(['get']); // Method like post,get..
$this->responseBody["statusCode"] = 200;
$this->responseBody["statusDescription"] = ''; //You send any text in json.
$this->responseBody["data"] = []; // All data that you can send.
}
Для получения дополнительной информации вы можете увидеть REST API CakePHP Cookbook, нажав здесь
person
Boni
schedule
03.01.2018