使用springcloud的gateway路由组件
程序员文章站
2022-03-29 23:02:01
使用springcloud 的gateway路由组件之前做微服务的项目都是使用nginx来进行请求转发匹配,最近了解了springcloud的路由Gateway组件也可以实现请求转发匹配功能,就记录下如何使用Gateway创建springboot项目创建aplication.properties文件添加配置nacos注册中心的信息并且端口配置为88,以后我们前端调用接口使用localhost:88他可以自动根据url的匹配规则帮助我们调用不同模块的接口spring.cloud.nacos.disco...
使用springcloud 的gateway路由组件
之前做微服务的项目都是使用nginx来进行请求转发匹配,最近了解了springcloud的路由Gateway组件也可以实现请求转发匹配功能,就记录下如何使用Gateway
创建springboot项目
创建aplication.properties文件添加配置nacos注册中心的信息并且端口配置为88,以后我们前端调用接口使用localhost:88他可以自动根据url的匹配规则帮助我们调用不同模块的接口
spring.cloud.nacos.discovery.server-addr=47.95.117.172:8848
spring.application.name=wjsmall-gateway
server.port=88
创建aplication.yml文件添加路由匹配规则配置
spring:
cloud:
gateway:
routes:
- id: admin_route #这个id可以随便取
uri: lb://renren-fast #这个是你的在注册中心的微服务名称
predicates:
- Path=/api/** #这个代表有/api之后就会变成上面uri的路径
filters:
- RewritePath=/api/(?<segment>.*),/renren-fast/$\{segment}
#这个是路径重写,因为我们使用/api/**路径的话他会变成/api/renren-fast因为我们不需要前面的/api所有重写url将前面的/api去掉
然后再启动类加入@EnableDiscoveryClient注解添加到注册中心之后就可以使用路由组件了
gateway还支持跨域配置
一般我们在开发的时候因为使用前后端分离会遇到很多的跨域问题,我们可以使用gateway配置跨域问题
创建一个MyCorConfiguration配置类
@Configuration
public class MyCorConfiguration {
@Bean
public CorsWebFilter corsWebFilter(){
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
/** 配置跨域 */
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.addAllowedOrigin("*");
/** 这个代表允许设置头信息,没有这个头信息会没有值**/
corsConfiguration.setAllowCredentials(true);
source.registerCorsConfiguration("/**",corsConfiguration);
return new CorsWebFilter(source);
}
}
本文地址:https://blog.csdn.net/qq_40796604/article/details/112868626
上一篇: 2014年12月31号