开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):SpringCloud(Gateway 网关跨域)】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11523
SpringCloud(Gateway 网关跨域)
目录:
一、创建配置类
二、spring Cloud 相关基础服务组件
三、操作过程
一、创建配置类
在 Gateway 网关跨域中,CrossOrigin 不需要加,在网关层进行跨域处理检测如有异常, 有权限,都可以通过 Gateway 网关跨域实现
以上固定代码:
直接复制即可
@Configuration
public class CorsConfig (
@Bean
public CorsWebFilter corsFilter()f
CorsConfiguration config - new CorsConfiguration();
config.addAllowedMethod("**);
config.addAl1cwedOrigin("**);
config.addAl1cwedHeader ("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); source.registerCorsConfiguration("/**",config);
return new CorsWebFilter(source);
工具类直接复制即可。
二、spring Cloud 相关基础服务组件
1.服务发现——Netflix Eureka(Nacos)
效果更加强大
2.服务调用——Netflix Feign
一个模块调用另一个模块
3.熔断器——Netflix Hystrix
断路器,出现问题则会执行
4.服务网关——Spring Cloud GateWay
通过网关可以访问,可以适应出效果,且效果更佳。
5.分布式配置——Spring Cloud Config(Nacos)
6.消息总线—— Spring Cloud Bus(Nacos)
三、操作过程
//演示跨域问题
加入跨域配置类,将其修改,改成网关地址,把项目终端启动起来:
'use strict'
const merge = require('webpack-merge')
const prodEnv =require('./prod.env')
module.exports = merge(prodEnv, f
NODE_ENV:'"development"' ,
//BASE_API:'"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"',
BASE_API:'"http://localhost:9001"',
@RestController
@RequestMapping(”/eduservice/user
//解决跨域
public class EduLoginController (
//login
@PostMapping("login”)
public R login() ( return R.ok().data("token”,"admin");
//info
@GetMapping(”info
public R info()