本篇文章小编给大家分享一下springcloud整合gateway实现网关代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1.项目目录:
创建项目gateway作为父类
2.代码实现:
父类依赖
org.springframework.boot spring-boot-starter-parent 2.6.2 com.cxh gateway 0.0.1-SNAPSHOT gateway Demo project for Spring Boot pom 8 2021.1 2021.0.0 org.springframework.cloud spring-cloud-dependencies ${spring-cloud-dependencies.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba-dependencies.version} pom import
创建module项目gateway-client
添加依赖
com.cxh gateway 0.0.1-SNAPSHOT com.cxh gateway-client 0.0.1-SNAPSHOT gateway-client Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.1.RELEASE org.springframework.cloud spring-cloud-starter-openfeign org.springframework.boot spring-boot-starter-web
yml配置
server:
port: 8002
spring:
application:
name: gateway-client #服务名
profiles:
active: dev #环境设置
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos服务注册
控制层
@RestController
public class ClientController {
@Value("${server.port}")
private String port;
@RequestMapping("/index")
public String index(){
return "gateway-client端口:" + port;
}
}
启动类添加注解
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayClientApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayClientApplication.class, args);
}
}
创建module项目gateway-service
添加依赖
com.cxh gateway 0.0.1-SNAPSHOT com.cxh gateway-service 0.0.1-SNAPSHOT gateway-service Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-starter-gateway 3.0.4 com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-feign 1.4.3.RELEASE org.springframework.cloud spring-cloud-loadbalancer org.springframework.cloud spring-cloud-starter-netflix-hystrix 2.2.10.RELEASE
yml配置
server:
port: 8001
spring:
application:
name: gateway-service #服务名
profiles:
active: dev #环境设置
cloud:
gateway:
routes:
# 透传服务
- id: gateway-client #设置路由id
uri: lb://gateway-client #设置路由的url lb://nacos服务注册名称
predicates:
- Path=/client/** #路径匹配规则
filters:
- StripPrefix=1
跨域配置
@Configuration
public class CorsConfig {
@Bean
public CorsWebFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedMethod("*");
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
source.registerCorsConfiguration("/**", config);
return new CorsWebFilter(source);
}
}
3.实现效果:
启动nacos后,再启动gateway-client, gateway-service项目,打开浏览器http://loc*alhost**:8001/client/index
返回信息:gateway-client端口:8002
孢子2生物进化中文版(Spores)
孢子2生物进化中文版让我们来做一回疯狂的博士,打造一个属于自
叫我万岁爷九游官方版
叫我万岁爷带你体验当换地点感觉,全新的模拟手游大作让你开始一
梦回凤歌
梦回凤歌手游中你将步入古代的宫廷纷争之中,本想度过美好幸福的
洋果子店rose最新版本
洋果子店最新版是一款十分容易让人垂涎的开店经营类手游。游戏玩
明日大亨最新版
明日大亨手游,一个非常经典有趣的模拟经营类型的商战手游,在游