2015-10-06 38 views
0

角控制器功能Angularjs,春天引導PUT不帶彈簧的安全

$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' 
     } 
    }); 
}) 

春季啓動控制器

@RequestMapping(value="/updatepatient/{id}", method=RequestMethod.PUT) 
     @ResponseBody 
     public Patients update(@PathVariable("id") int id, @RequestBody @Valid Patients patient) { 
     return patientrep.save(patient); 

} 

支持我使用使得簡單的CRUD操作應用系統angularjs和springboot,但我得到以下錯誤:

在角:PUT http://localhost:8080/updatepatient?id=15 405(不允許的方法)

在Tomcat中

:o.s.web.servlet.PageNotFound:請求方法 '把' 不支持

我使用CRUDRepository;獲取,POST,DELETE正常工作。

+3

讀取錯誤消息。 Angular將請求發送到'updatepatient?id = 15'。但是你的彈簧控制器被映射到'/ updatepatient/15'。 –

+0

因此,在春天控制器,我應該把什麼請求映射,我試圖value =「/ updatepatient?id = {id}」,但它不工作 –

+0

現在感謝它的工作,在角度控制器我更改/ updatepatient/:ID」 –

回答

0

角被髮送查詢參數,而不是pathvariables,映射查詢參數,你必須使用@RequestParam註釋,這裏有一個例子

@RequestMapping(value="/group/", method=RequestMethod.GET) 
    @ResponseBody 
    public MetaListDto<UserDto> findUsersForGroup(@RequestParam(value="id", required=false) Long groupId,@RequestParam(value="offset", required=false) Integer offset,@RequestParam(value="limit", required=false) Integer limit) { 

希望它可以幫助