我正在尝试使用 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 表示。知道发生了什么吗?