后端要求get、put、delete请求通过body传值问题

原因分析

使用RESTful规范 获取数据多参数多的最好放body

  • url长度限制
  • 可传复制对象

解决思路

前端发post 后台按get 解析
前端是无法直接发通过body带参数的get请求的!!!
如果有办法请留言告知

重点: 解决办法

request.headers['X-HTTP-Method-Override'] = 'GET';
request.headers['X-HTTP-Method-Override'] = 'PUT';
request.headers['X-HTTP-Method-Override'] = 'DELETE';

在vue中 这句加在了请求拦截里面

export function getAlerts(data: ObjTy) {
  const param = {
    url: 'api/alerts',
    data,
    bfLoading: true,
    method: 'POST',
    isAlertErrorMsg: true,
    // isParams: true,
    isBodyData: true
  }
  return axiosReq(param)
}
//请求拦截  isBodyData是自定义参数 用于区分  post后台按get解析改造header
if (request.method === 'post' && request.isBodyData) {
      request.headers['X-HTTP-Method-Override'] = 'GET';
    }
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容