Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported for @RequestBody MultiValueMap

The problem is that when we use application/x-www-form-urlencoded, Spring doesn’t understand it as a RequestBody. So, if we want to use this
we must remove the @RequestBody annotation.

Then try the following:

@RequestMapping(
  path = "/{email}/authenticate", 
  method = RequestMethod.POST,
  consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, 
  produces = {
    MediaType.APPLICATION_ATOM_XML_VALUE, 
    MediaType.APPLICATION_JSON_VALUE
  })
public @ResponseBody Representation authenticate(
  @PathVariable("email") String anEmailAddress, 
  MultiValueMap paramMap) throws Exception {

  if (paramMap == null && 
      paramMap.get("password") == null) {
     throw new IllegalArgumentException("Password not provided");
  }
  return null;
}

Note that removed the annotation @RequestBody

answer: Http Post request with content type application/x-www-form-urlencoded not working in Spring

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)