相关疑难解决方法(0)

@RequestBody MultiValueMap不支持内容类型'application/x-www-form-urlencoded; charset = UTF-8'

基于x-www-form-urlencoded与Spring @Controller的问题的答案

我写了下面的@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");
            }
    }
Run Code Online (Sandbox Code Playgroud)

请求失败并出现以下错误

{
  "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": "/users/usermail%40gmail.com/authenticate"
}
Run Code Online (Sandbox Code Playgroud)

[PS:泽西岛更加友好,但现在考虑到实际限制,现在无法使用它]

model-view-controller spring spring-mvc

73
推荐指数
7
解决办法
16万
查看次数

标签 统计

model-view-controller ×1

spring ×1

spring-mvc ×1