Spring MVC: Error 400 The request sent by the client was syntactically incorrect
I also had this issue and my solution was different, so adding here for any who have similar problem.
My controller had:
@RequestMapping(value = "/setPassword", method = RequestMethod.POST)
public String setPassword(Model model, @RequestParameter SetPassword setPassword) {
...
}
The issue was that this should be @ModelAttribute
for the object, not @RequestParameter
. The error message for this is the same as you describe in your question.
@RequestMapping(value = "/setPassword", method = RequestMethod.POST)
public String setPassword(Model model, @ModelAttribute SetPassword setPassword) {
...
}
The @RequestParam String action
suggests there is a parameter present within the request with the name action which is absent in your form. You must either:
- Submit a parameter named value e.g.
<input name="action" />
- Set the required parameter to
false
within the@RequestParam
e.g.@RequestParam(required=false)