vue.config.js

  • 有时候需要在代理请求中添加一些请求头或者在修改响应,那么可以通过onProxyReqonProxyRes来修改代理请求,函数签名均为
(proxyReq|proxyRes,req,res)=>{}
  • 如果要修改响应,那么还应配置proxy.xxx.selfHandleResponse:true

具体配置如下:

module.exports = {
	devServer:{
		proxy: {
      '/basic-api': {
        // apifox导入
        target: 'http://127.0.0.1:4523/m1/3215295-0-default',
        changeOrigin: true,
        pathRewrite: {
          '^/basic-api': ''
        },
        selfHandleResponse: true, // 修改响应数据必须设为true
        // 转发请求时设置cookie
        // onProxyReq(proxyReq) {
        //   proxyReq.setHeader('cookie', 'JSESSIONID=2AEE2EEB321F139DD87C98F0CD0B48A3')
        // },
        onProxyRes(proxyRes, req, res) {
          let responseData = Buffer.alloc(0)
          proxyRes.on('data', function (dataChunk) {
            responseData = Buffer.concat([responseData, dataChunk])
          })

          proxyRes.on('end', function () {
            // 修改响应结构
            res.send(JSON.stringify({ result: JSON.parse(responseData.toString('utf-8')) }))
          })
        }
      }
    }
	}
}
Logo

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

更多推荐