Angularjs, Spring Boot PUT не поддерживается с пружинной безопасностью

0

Функция углового регулятора

$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: osweb.servlet.PageNotFound: метод запроса "PUT" не поддерживается

Я использую CRUDRepository; Get, POST, DELETE работают правильно.

  • 3
    Прочитайте сообщение об ошибке. Angular отправляет запрос на updatepatient?id=15 . Но ваш весенний контроллер сопоставлен с /updatepatient/15 .
  • 0
    Итак, в контроллере пружины, какое отображение запроса я должен поставить, я попытался значение = "/ updatepatient? Id = {id}", но он не работает
Показать ещё 1 комментарий
Теги:
spring-boot

1 ответ

0

Angular отправляет параметры запроса вместо 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)  {

Надеюсь, поможет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню