【发布时间】:2015-10-06 06:48:18
【问题描述】:
角度控制器功能
$scope.updatePatient = function() {
var patient = new patientUpdateService({id:"15", name:"m",lastname:"s"});
patient.$update();
}
角度服务
.factory("patientUpdateService", function ($resource) {
return $resource("/updatepatient", {id: "@id"}, {
update: {
method: 'PUT'
}
});
})
Spring 启动控制器
@RequestMapping(value="/updatepatient/{id}", method=RequestMethod.PUT)
@ResponseBody
public Patients update(@PathVariable("id") int id, @RequestBody @Valid Patients patient) {
return patientrep.save(patient);
}
我正在使用 angularjs 和 springboot 制作简单的 crud 操作应用程序,但出现以下错误:
在 Angular 中:PUT http://localhost:8080/updatepatient?id=15 405(不允许的方法)
在 Tomcat 中:o.s.web.servlet.PageNotFound:不支持请求方法“PUT”
我正在使用 CRUDRepository ; Get、POST、DELETE 工作正常。
【问题讨论】:
-
阅读错误信息。 Angular 将请求发送到
updatepatient?id=15。但是你的 spring 控制器映射到/updatepatient/15。 -
所以在 spring 控制器中,我应该放什么请求映射,我尝试了 value="/updatepatient?id={id}" ,但它不起作用
-
非常感谢它现在工作,在角度控制器中我更改为 /updatepatient/:id"
标签: angularjs spring-boot