1

私はこれについて多くのことを読みましたが、アプリケーションからのフィードバックがないため、実装が正しいかどうかはまだわかりません...次のコードをroutes.phpに追加しました

Router::mapResources('投稿'); Router::parseExtensions('json');

コントローラー上の次のコード PostsController.php

class PostsController extends AppController {
public $helpers = array('Html', 'Form');
var $components = array('RequestHandler');

public function index() {
    $this->set('posts', $this->Post->find('all'));
}

public function view($id = null) {
    $this->Post->id = $id;
    $this->set('post', $this->Post->read());
    $this->set(compact('posts'));
}

public function add() {
    if ($this->request->is('post')) {
        if ($this->Post->save($this->request->data)) {
            $this->set(compact('posts'));
            $this->Session->setFlash('Your post has been saved.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Unable to add your post.');
        }
    }
}

public function edit($id = null) {
    $this->Post->id = $id;
    if ($this->request->is('get')) {
        $this->request->data = $this->Post->read();
    } else {
        if ($this->Post->save($this->request->data)) {
            $this->set(compact('posts'));
            $this->Session->setFlash('Your post has been updated.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Unable to update your post.');
            }
        }
}
public function delete($id) {
if ($this->request->is('get')) {
    throw new MethodNotAllowedException();
}
    if ($this->Post->delete($id)) {
        $this->set(compact('posts'));
        $this->Session->setFlash('The post with id: ' . $id . ' has been deleted.');
        $this->redirect(array('action' => 'index'));
    }
}

}

これで十分ですか?私の目標は、この Web サービスを介して MySQL データベースと通信する Android アプリケーションを作成することです。あなたが私を助けてくれることを願っています:/

4

1 に答える 1

0

Costa のおかげで、REST を機能させることができました (XD だと思います) 彼がテストするように提案したプラグインを 1 つ使用しましたが、http://localhost:3030/cake_2_1/posts/indexからしか正しい答えを受け取ることができませんでしたcoockbook の .json には POST /recipes.format RecipesController::add() があり、何かを追加できますが、ここで URL にどのように変換されますか? echo json_encode($message);View\Posts\json\add.ctp にあるもので、

if ($this->Post->save($this->request->data)) { $message = 'Saved'; } else { $message = 'Error'; } $this->set(compact("message")); コントローラーの追加機能にあるものです。もう少し助けが必要です:)

于 2012-04-20T01:39:58.010 に答える