TodoAppのREST APIをAngularにして、ADD、UPDATE、GET ALLの経路を設定しますが、DELETEメソッドは使えません。 マイ角度コントローラ:適切に経路指定できないAngular
angular.module('todoListApp')
.controller('todoCtrl', function($scope, Todo) {
$scope.deleteTodo = function(todo, index) {
$scope.todos.splice(index, 1);
todo.$delete();
console.log("<<" + todo.name + ">> deleted.");
};
角度サービス:
angular.module('todoListApp')
.factory('Todo', function($resource){
return $resource('/todos/', {id: '@id'}, {
update: {
method: 'PUT'
},
save: {
method: 'POST'
},
delete: {
method: 'DELETE',
params: {id: '@id'}
}
});
});
マイスパーク・コントローラ:
delete("/todos", "application/json", (req, res) -> {
Todo todo = gson.fromJson(req.body(), Todo.class);
if (todo == null) throw new ApiError(404, "Could not find todo.");
todoDao.delete(todo);
return todo;
}, gson::toJson);
delete("/todos/:id", "application/json", (req, res) -> {
int id = Integer.parseInt(req.params("id"));
Todo todo = gson.fromJson(req.body(), Todo.class);
if (todo == null) throw new ApiError(404, "Could not find todo.");
todoDao.delete(todo);
return todo;
}, gson::toJson);
DELETEボタン(NG-クリック= "deleteTodo(TODO、$インデックス)をクリック")最初のコントローラーが呼び出されましたが、秒は呼び出されませんでした。私はちょうどデバッグのために2つを作った。
私は右のidパラメータを見ることができますangular.js:10661 DELETE http://localhost:4567/todos?id=3 404 (Not Found)
が、なぜコントローラがそれをキャッチdoesntの: エラーメッセージはありますか?動詞とパラメータ{動詞: '挨拶'、 あいさつ: 'こんにちは'}?テンプレート/パス/を考える
delete( "/ todos /:id"、 "application/json"、(req、res) - > { int id = Integer.parseInt(req.params( "id")); Todo todo = gson .doJson(req.body()、Todo.class); if(todo == null)新しいApiErrorをスローする(404、 "todoが見つかりませんでした"); todoDao.delete(todo); return todo; }、gson :: toJson); – zzheads
問題のスパークコントローラーbody =このURLのJavaコントローラー、つまり意味ですか? – zzheads
申し訳ありませんが、混乱しました。私は私のコメントを削除します。 (あなたもあなたを削除することができます) – gyc