背景:
这个项目是前后端分离的,前端项目和后端项目是放在服务器的同一个目录下。后端项目在以前是一个单独的前后端不分离项目,是需要登录才能访问到里面的接口。
通过前台给的地址访问,发现根本调不通接口。在浏览器右击然后点击检查,切换到控制台,果然报错,大概意思就是请求跨域了。
网上百度一堆,在Nginx配置文件里面配置允许所有请求 依然不生效。没道理呀,这怎么行不通呢!
网上有帖子说,在前端需要调用的接口的控制器上添加 @CrossOrigin 注解可以解决,然后就尝试了下,这种方式可行!
@CrossOrigin
@RestController
public class person{
@RequestMapping(method = RequestMethod.GET)
public String add() {
、、、、、、
}
}
不过要注意的是:
springMVC的版本要在4.2或以上版本才支持@CrossOrigin。
在@RequestMapping注解中没有指定Get、Post方式,具体指定后,问题解决。