axios访问后台时,返回404
axios写了一个异步调用后台的方法,调用结果走了catch。后台打断点,发现调用成功了,且也正确返回了。但前台始终报:code: ERR_BAD_REQUEST ,message: Request failed with satus code 404。
刚开始以为是跨域的地址没有正确转换。于是在vite.config.js里配置如下:
server: {proxy: {'/api/': {target: 'http://localhost:8081',changeOrigin: true,rewrite: (p) => p.replace(/^\/api/, ''),// 打印日志相关bypass(req, res, options) {const url = options.target + options.rewrite(req.url)res.setHeader('X-Proxy-Url', url)}}}
}
发现f12里显示的X-Proxy-Url地址是正确的。这也印证了为什么能调用到后台。
后来在排查之后,发现后台controller上面没有加@ResponseBody。。。。。。
加上之后故障排除。看来是不加这个,springboot就没有把返回值当成json的bean,有可能吧。解决就行。