0

POST リクエストが /users.json に送信されたときにユーザーを追加する CakePHP で RESTful api を作成しようとしています。ユーザーが作成されると、クライアントはユーザーの 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 に答える