springboot + vue 前后台分离 (跨域问题(后台解决方案))

先说下使用场景,前后台都在自己电脑上,然后后台是直接在idea上启动的端口号是:8080

前台不打包时直接启动后去访问后台接口时提示跨域问题,然后就在 "vue.config.js" 下配置了本地代理,然后是可以访问到后台接口的。

然后前台 npm run build 打了一个包,然后部署在了iis上(这个很楼,一般都部署在tomcat上或者nginx上)再去访问的时候它提示我404,然后在网上查了下资料说本地代理的配置通过npm run build 后就不起作用了。

然后就通过后台解决跨域问题

在controller里添加一个@CrossOrigin注解,然后把前台项目配置的本地代理删除掉,重新打了一个包,部署到iis上然后运行,竟然直接能访问到了。这里是部分代码

# 后台代码

@RestController
@RequestMapping("/api")
@CrossOrigin
public class userController {

    @Autowired
    PersonService personService;

    @GetMapping("/getPersonById")
    public String getPersonById(@RequestParam Map<String,Object> map) throws JSONException {
        PersonDto personDto = personService.getPersonById(1);
        return  personDto.getName();
    }
}

# 前台代码

this.$axios
        .get("api/getPersonById")
        .then(response => alert("请求成功"))
        .catch(error => alert("请求失败"));

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值