问题:前端请求接口:接口报错:“Required String parameter ‘code’ is not present”

排查过程:反复检查传参,没有任何问题(

  1. 包括参数大小写,
  2. 参数名称是否一致,
  3. 参数值类型String)
  4. 包括post / get 请求 Payload参数格式 是 Form Data 还是 JSON 对象
  5. 以及 ContentType 值都检查过了),始终找不到问题原因

原因:经验主义错误,在以往的接口定义的 http 文件中,认为只要是post请求都给加了type:‘json’ 这个属性,后端接口是post请求,但是,需要的参数格式不是 json 对象,而是form对象,这就导致问题产生了

解决方案:去掉前端接口定义中的type:‘json’ 属性

在index.js定义接口集文件中

import http from '@/http/index'

export default {
  // 删除
  cleanRecords(params) {
    return http({
      url: `/deleteSomeData`,
      method: 'post',
      // type: 'json', // 去掉这个属性定义,这个属性是axios 的参数序列化,目的是将参数转换为json对象
      showError: true
    }, params)
  }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐