0
私はユーザーモデルを持っています。私はクライアントが特定のユーザーのために必要なデータを更新するためにコールできるようにRESTful APIを提供しています。以下は、ユーザーデータを更新するために使用したコードとcurlコマンドですが、それはうまくいきません。私のコード/コマンドに何か問題はありますか?PUTを使用してモデルデータを更新する
そして、私はカールを使用して、ルート設定に
PUT /user/{<\d+>id}/? Users.update
// Updates a single user.
public static void update(Long id) {
// Fetch from user from DB
User user = safeFindById(id);
// Set new values
user.edit("user", params.all());
// Persist user
user.validateAndSave();
// return the user rendered based on template
get(id);
}
を以下している - 新しいユーザー
$ curl d '{"email":"[email protected]","password":"secret","firstname":"who","lastname":"is"}' -X POST http://localhost:9001/user/add
を追加し、ユーザーを更新するには、両方のコマンドは以下の動作しませんでした
$ curl -H "Accept: application/json" -X PUT -d "firstname=test" http://localhost:9001/user/1
$ curl -H "Accept: application/json" -H "X-HTTP-Method-Override: PUT" -X POST -d "firstname=test" http://localhost:9001/user/1
表示されるエラーは何ですか?何がうまくいかないの? –
私はちょうど(データモデルなしで)単純なプロジェクトを作成し、カールPUTは正常に動作しています - または少なくともそれはparamsで正しいコントローラメソッドを呼び出しています。あなたが持っているエラー/例外を貼り付けることはできますか? –
エラーは返されませんでしたが、ファーストネームの値は "who"から "test"に変更されませんでした。だから私のカールのコマンドはよく見える? – tom