HTTP Status 405 - Request method 'POST' not supported (Spring MVC)
I am not sure if this helps but I had the same problem.
You are using springSecurityFilterChain with CSRF protection. That means you have to send a token when you send a form via POST request. Try to add the next input to your form:
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
Check if you are returning a @ResponseBody or a @ResponseStatus
I had a similar problem. My Controller looked like that:
@RequestMapping(value="/user", method = RequestMethod.POST)public String updateUser(@RequestBody User user){ return userService.updateUser(user).getId();}
When calling with a POST request I always got the following error:
HTTP Status 405 - Request method 'POST' not supported
After a while I figured out that the method was actually called, but because there is no @ResponseBody and no @ResponseStatus Spring MVC raises the error.
To fix this simply add a @ResponseBody
@RequestMapping(value="/user", method = RequestMethod.POST)public @ResponseBody String updateUser(@RequestBody User user){ return userService.updateUser(user).getId();}
or a @ResponseStatus to your method.
@RequestMapping(value="/user", method = RequestMethod.POST)@ResponseStatus(value=HttpStatus.OK)public String updateUser(@RequestBody User user){ return userService.updateUser(user).getId();}
You might need to change the line
@RequestMapping(value = "/add", method = RequestMethod.GET)
to
@RequestMapping(value = "/add", method = {RequestMethod.GET,RequestMethod.POST})