我正在使用springboot angularsjs并且很安静。
我的休息控制器
@RequestMapping(value="/updatestructure/{ch}",method = RequestMethod.PUT)
public @ResponseBody Structurenotification updateStructure(@PathVariable(value="ch") StructureNotificationDto ch) {
return StructureNotif.update(ch);
}
按钮
$scope.addstructure = function() {
$http.put('/structure/updatestructure/', $scope.element);
};
但是我遇到了这个问题:
o.s.web.servlet.PageNotFound:不支持请求方法'PUT'
答案 0 :(得分:5)
您已将{ch}
变量定义为PathVariable
,并将其作为请求正文发送。您映射接受的网址类似于/structure/updatestructure/abc
,/structure/updatestructure/efg
,而值abc
和efg
将作为字符串传递。在这种情况下,您的映射应该如下所示。
@RequestMapping(value="/updatestructure/{ch}",method = RequestMethod.PUT)
public @ResponseBody Structurenotification updateStructure(@PathVariable String ch) {
}
但是,你是真的会发送一个JSON作为请求体(假设从你的角$http.put(url,data)
)。
您的映射应如下所示:
@RequestMapping(value="/updatestructure/",method = RequestMethod.PUT)
public @ResponseBody Structurenotification updateStructure(@RequestBody StructureNotificationDto ch) {
return StructureNotif.update(ch);
}