На основании ответа for problem with x-www-form-urlencoded with Spring @ControllerТип содержимого 'применение/х-WWW-форм-urlencoded; кодировка = UTF-8' не поддерживается для @RequestBody MultiValueMap
я написал ниже метод @Controller
@RequestMapping(value = "/{email}/authenticate", method = RequestMethod.POST
, produces = {"application/json", "application/xml"}
, consumes = {"application/x-www-form-urlencoded"}
)
public
@ResponseBody
Representation authenticate(@PathVariable("email") String anEmailAddress,
@RequestBody MultiValueMap paramMap)
throws Exception {
if(paramMap == null && paramMap.get("password") == null) {
throw new IllegalArgumentException("Password not provided");
}
}
запрос, на который завершается с ошибкой ниже
{
"timestamp": 1447911866786,
"status": 415,
"error": "Unsupported Media Type",
"exception": "org.springframework.web.HttpMediaTypeNotSupportedException",
"message": "Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported",
"path": "https://stackoverflow.com/users/usermail%40gmail.com/authenticate"
}
[PS: Джерси было гораздо более дружелюбным, но не может использовать его в настоящее время с учетом практических ограничений здесь]
Вы добавили истребляют = { "применение/X-WWW-форм-urlencoded"} в @RequestBody? – shiladitya
Как вы выполнили запрос? добавьте код (js, jquery, curl или все, что вы используете). –
У меня такая же проблема. В моем случае я использую jquery ajax для публикации данных, а данные - 'JSON.stringify ({" ordersToDownload ":" 00417002 "}' – Arashsoft