概述
前后端分离部署存在跨域问题 ,每次前端请求后端都会发送一个option请求。这里可以通过配置代理来去掉跨域问题。
项目是通过 vue-cli生成的 , 所以有config文件夹 下面有 index.js :
找到 以下代码:
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
proxyTable里面添加以下内容:
proxyTable: {
'/api': {
target: 'http://localhost:9090/',//后端的访问地址
secure: false, //https请换成true,
changeOrigin: true, //是否跨域
跨域选择true
pathRewrite:{'^/api':'/api'}
}
},
这里 假设我们后端项目启动的地址以及端口是:http://localhost:9090.那么我们前端访问后端的请求 (axios来处理 ):
//获取当前用户
axios.post("/api/user/getNowUser",data).then(response => response.data);
假设前端启动端口是 8080,那么上面访问的代码是 http://localhost:8080/api/user/getNowUser 这个地址会代理到:
http://localhost:9090/api/user/getNowUser
后端的yml配置是 :
server:
port: 9090
context-path: /api #访问项目路径
请求后端的映射是:
@RestController
@RequestMapping("/user")
@Api(value = "用户相关接口",tags = {"用户操作接口"})
public class UserinfoController {
@Autowired
IUserinfoService iUserinfoService;
/**
* 测试多数据源
* 获取当前用户
* @return
*/
@PostMapping("/getNowUser")
@Cacheable
@ApiOperation(value = "获取当前用户接口",notes = "获取当前用户")
public AjaxResult getList(@RequestBody User user){
......
}
最后返回 AjaxResult对象给前端。
最后
以上就是受伤宝马为你收集整理的开发环境下的Vue项目配置proxyTable,后端SpringBoot的全部内容,希望文章能够帮你解决开发环境下的Vue项目配置proxyTable,后端SpringBoot所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复