0

我正在尝试使用 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::parseExtensions('json') 添加到 routes.php。但是,当我使用 Chrome 的 REST 控制台插件发送发布请求时,我收到“{errors:[]}”的响应,并且没有创建新用户。当我使用 curl 时,会创建一个用户,但之后我没有得到用户的 json 表示。知道发生了什么吗?

4

1 回答 1

0

如果您还没有完成,请在创建后重试app/View/user/json/index.ctp 使用以下内容:

<?php
return json_encode(compact());
?>
于 2013-09-20T04:28:05.487 回答