Ошибка Request method 'POST' is not supported
Помогите пожалуйста найти ошибку. При сохранение изменений в форме редактирования выходит ошибка:
There was an unexpected error (type=Method Not Allowed, status=405).
Method 'POST' is not supported.
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' is not supported
@Component
public class UserDAO {
private int id;
private List<User> userList;{
userList = new ArrayList<>();
}
public void addUser(User newUser) {
userList.add(newUser);
newUser.setId(++id);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
public User getUserId(int id){
return userList.stream().filter(user -> user.getId() == id).findAny().orElse(null);
}
// Редактирование данных конкретного пользователя
public void userUpdate(int id, User user){
User userUpdate = getUserId(id);
userUpdate.setLastName(user.getLastName());
userUpdate.setFirstName(user.getFirstName());
userUpdate.setPatronymic(user.getPatronymic());
userUpdate.setAge(user.getAge());
userUpdate.setEmail(user.getEmail());
userUpdate.setPhoneNumber(user.getPhoneNumber());
}
}
@Controller
@RequestMapping("/user")
public class UserController {
private final UserDAO userDao;
@Autowired
public UserController(UserDAO userDao) {
this.userDao = userDao;
}
// Данный метод позволяет принять данные с формы редактирования пользователя и обновить данные редактируемого пользователя
@PostMapping("/edit/{id}")
public String userEditValue(@ModelAttribute("userEdit") User user, @PathVariable("id") int id){
userDao.userUpdate(id, user);
return "redirect:/user/" + id;
}
<html>
<head>
<meta charset="UTF-8">
<title>Редактирование пользователя</title>
</head>
<body>
<h3>Редактирование пользователя</h3>
<form th:method="POST" th:action="@{/user/edit{id}(id=${userEdit.getId()})}" th:object="${userEdit}">
<label for="lastName">Введите фамилию: </label>
<input type="text" th:field="*{lastName}" id="lastName">
<br>
<label for="firstName">Введите имя: </label>
<input type="text" th:field="*{firstName}" id="firstName">
<br>
<label for="patronymic">Введите отчество: </label>
<input type="text" th:field="*{patronymic}" id="patronymic">
<br>
<label for="age">Введите возраст: </label>
<input type="number" th:field="*{age}" id="age">
<br>
<label for="email">Введите email: </label>
<input type="email" th:field="*{email}" id="email">
<br>
<label for="phoneNumber">Введите номер телефона: </label>
<input type="text" th:field="*{phoneNumber}" id="phoneNumber">
<br>
<input type="submit" value="Редактировать">
</form>
</body>
</html>