@ApiOperation("获取店铺列表")
@GetMapping("/list")
//加此注译解决跨域访问
@CrossOrigin
public AjaxResult StoreList()
{
List
return AjaxResult.success(userList);
}
解决:单个控制器方法实测可行。(其它二种暂时测试出错)
如何配置允许跨域访问
现在开发的项目一般都是前后端分离的项目,所以跨域访问会经常使用。
1、单个控制器方法CORS注解
@RestController@RequestMapping("/system/test")public class TestController {
@CrossOrigin
@GetMapping("/{id}")
public AjaxResult getUser(@PathVariable Integer userId) {
// ...
}
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId) {
// ...
}}
2、整个控制器启用CORS注解
@CrossOrigin(origins = "http://ruoyi.vip", maxAge = 3600)@RestController@RequestMapping("/system/test")public class TestController {
@GetMapping("/{id}")
public AjaxResult getUser(@PathVariable Integer userId) {
// ...
}
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId) {
// ...
}}
3、全局CORS配置(在ResourcesConfig重写addCorsMappings方法)
/**
- web跨域访问配置
/@Overridepublic void addCorsMappings(CorsRegistry registry){
// 设置允许跨域的路径
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOrigins("")
// 是否允许证书
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("GET", "POST", "DELETE", "PUT")
// 设置允许的header属性
.allowedHeaders("*")
// 跨域允许时间
.maxAge(3600);}