java怎么拦截某个对象
291
2022-11-06
springcloud整合gateway实现网关的示例代码
目录1.项目目录:2.代码实现:3.实现效果:
1.项目目录:
创建项目gateway作为父类
2.代码实现:
父类依赖
创建module项目gateway-client
添加依赖
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;
zxlgmnwt }
}
启动类添加注解
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayClientApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayClientApplication.class, args);
}
}
创建module项目gateway-service
添加依赖
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://localhost:8001/client/index
返回信息:gateway-client端口:8002
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~