解决POST表单提交报错 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

发布时间 2023-11-23 18:34:01作者: Mrzxs

百度发现 application/x-www-form-urlencoded;charset=UTF-8 是以键值对拼接的形式,即前端传过来的是键值对形式

前端代码:底层使用的vue中的axios发送的请求

import request from '@/utils/request'
export default {
  getTeacherList(page,limit,teacherQuery){
    return request({
      url: `xxxxxxxxxxx`,   //接口路径
      method: 'post',       //提交方式
      data: teacherQuery    //json结构参数{"":"","":""}
    })
  }
}

解决方法①:未测试,应该可以

@PostMapping("save")
public Result save(@RequestBody User user) {

}
//修改后的代码示例:
@PostMapping("save")
public Result save(@RequestParam Map<String, Object> params) {

}
//将原本的接收形式@RequestBody改成@RequestParam,同时用Map来接收参数。 

解决方法②:本人使用

既然是json结构参数,那么将teacherQuery转换成json不就行了,把teacherQuery括起来就可以了即{teacherQuery}