继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第10天 单表管理功能前后端开发

锦书难书Q
关注TA
已关注
手记 63
粉丝 0
获赞 8

课程名称:Spring Cloud+ Vue前后端分离开发企业级在线视频系统

课程章节:第5章 单表管理功能前后端开发

讲师姓名:甲蛙老师

课程内容

大章列表查询功能前端页面开发:使用gateway路由转发,vue页面只访问gateway的端口,并解决gateway跨域问题,使用lb://+注册中心名称作路由转发

课程收获

使用gateway路由转发

# 9002地址对外隐藏,暴露9000地址 若访问localhost:9000/business/** 实际处理的是localhost:9002/business/**
spring.cloud.gateway.routes[1].id=business
spring.cloud.gateway.routes[1].uri=http://${eureka.instance.hostname}:9002
# 基于路径进行转发 只要路径包括"/business/**"就进行转发
spring.cloud.gateway.routes[1].predicates[1].name=Path
spring.cloud.gateway.routes[1].predicates[1].args[1]=/business/**

进行以上配置后,重启网关即可通过9000端口访问business的内容。

同时需要解决跨域问题,有一种根据还有网关的微服务项目更好的配置方法,在GatewayApplication.java中添加如下,同时将原来的CorsConfig注释掉。

推荐当单体SpringBoot应用时使用CorsConfig,而微服务项目使用网关时使用如下代码。

/**
 *
配置跨域
 
* @return
 */
@Bean
public CorsWebFilter corsFilter() {
  
CorsConfiguration config = new CorsConfiguration();

  
config.setAllowCredentials(Boolean.TRUE);
  
config.addAllowedMethod("*");
  
config.addAllowedOrigin("*");
  
config.addAllowedHeader("*");
  
config.setMaxAge(3600L);

  
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
  
source.registerCorsConfiguration("/**", config);

  
return new CorsWebFilter(source);
}

使用lb://+注册中心名称作路由转发

将网关的配置项

spring.cloud.gateway.routes[1].uri=http://127.0.0.1:9002

 

改成

spring.cloud.gateway.routes[1].uri=lb://business

表示使用负载均衡进行路由转发

http://img2.mukewang.com/636290400001605a16000874.jpg


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP