當使用jQuery.ajax()呼叫Spring MVC Controller的方法時,如果該方法的參數有@RequestBody則會拋出下面錯誤。
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded' not supported
因為jQuery.ajax()預設的contentType為application/x-www-form-urlencoded,但@RequestBody不支援這種格式。@RequestBody通常是用來處理application/json或application/xml
如果原本@RequestBody的參數只是為了接收form表單的serialized的值,可以改用@RequestParam來處理。例如
@RequestMapping(value = "/getUser")
@ResponseBody
public String getUser(@RquestParam MultiValueMap) {
// some code here
}
參考:
沒有留言:
張貼留言