AngularJSをSpringMVCと統合しようとしています。しかし、RequestBodyとしてスプリングコントローラーにパラメーターを投稿することはできません。誰かが私が同じことを達成するのを手伝ってくれますか?以下は私のプログラムの簡単な流れです。
データ入力を行った後、TodoNewControllerが実行されます。ここから、 services.jsで定義したユーザー定義メソッド「 create」を呼び出します。この後のフローに従って、 入力パラメータとともにTodoController.javaのcreateメソッドを呼び出す必要があります。しかし、それは起こっていません。誰かがコードの何が問題なのか教えてもらえますか?以下は同じためのコードです。
controller.js
function TodoNewController($scope, $location, Todo) {
$scope.submit = function () {
Todo.create($scope.todo, function (todo) {
$location.path('/');
});
};
$scope.gotoTodoListPage = function () {
$location.path("/")
};
}
services.js
angular.module('todoService', ['ngResource']).
factory('Todo', function ($resource) {
return $resource('rest/todo/:id', {}, {
'create': {method:'PUT'}
});
});
TodoController.java
@Controller
public class TodoController {
private static final AtomicLong todoIdGenerator = new AtomicLong(0);
private static final ConcurrentSkipListMap<Long, Todo> todoRepository = new ConcurrentSkipListMap<Long, Todo>();
@RequestMapping(value = "/todo", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void create(@RequestBody Todo todo) {
long id = todoIdGenerator.incrementAndGet();
todo.setId(id);
todoRepository.put(id, todo);
}
}