REST api with CakePHP


REST api with CakePHP

我正在尝试使用CakePHP创建一个RESTful api,当POST请求发送到/users.json时,它将添加一个用户。创建用户后,客户端将被重定向到具有用户 JSON 表示形式的页面。我为控制器准备的代码是:

class UsersController extends AppController {
    public $components = array('RequestHandler');
    public function view($id) {
        $user = $this->User->findById($id);
        $this->set(array(
            'user' => $user['User'],
            '_serialize' => 'user'
        ));
    }
    public function add() {
        if ($this->User->save($this->data)) {
            $this->redirect(array('action' => 'view', 1)); //using 1 just to test
        } else {
            print_r($this->User->validationErrors);
            $this->set(array(
            'errors' => $this->User->validationErrors,
            '_serialize' => array('errors')
        ));
        }
    }
}
我添加了 Router::mapResources('users')

和 Router::p arseExtensions('json') 到routes.php。但是,当我使用 Chrome 的 REST 控制台插件发送发布请求时,我收到"{errors:[]}"的响应,并且没有创建新用户。当我使用 curl 时,会创建一个用户,但我之后没有得到用户的 json 表示形式。知道发生了什么吗?

如果尚未完成,请在创建app/View/user/json/index.ctp后重试包含以下内容:

<?php
return json_encode(compact());
?>