idea新建springCloud项目(8)- 网关服务 - zuul

1.新建项目

(1)勾选这3个组件:

idea新建springCloud项目(8)- 网关服务 - zuul

(2)删除掉不需要的:

idea新建springCloud项目(8)- 网关服务 - zuul

(3)修改版本:

idea新建springCloud项目(8)- 网关服务 - zuul

(4)添加配置:

idea新建springCloud项目(8)- 网关服务 - zuul

(5)启动

idea新建springCloud项目(8)- 网关服务 - zuul

(6)确认下是否注册到eureka上:

idea新建springCloud项目(8)- 网关服务 - zuul

 

2.添加@EnableZuulProxy注解

3.  路由转发  

 (1) 通过eureka上的服务名 通过网关访问product服务的接口(product和网关都要启动)

 

idea新建springCloud项目(8)- 网关服务 - zuul

也可以访问eureka上的config服务的文件:

idea新建springCloud项目(8)- 网关服务 - zuul

 (2)自定义路由 

idea新建springCloud项目(8)- 网关服务 - zuul

idea新建springCloud项目(8)- 网关服务 - zuul

查看路由规则:

idea新建springCloud项目(8)- 网关服务 - zuul

idea新建springCloud项目(8)- 网关服务 - zuul

简洁写法:

idea新建springCloud项目(8)- 网关服务 - zuul

(3)排除接口:

idea新建springCloud项目(8)- 网关服务 - zuul

idea新建springCloud项目(8)- 网关服务 - zuul

4. Cookie和动态路由

(1)cookie:

让cookie传递给后端

idea新建springCloud项目(8)- 网关服务 - zuul

sensitiveHeaders默认是过滤掉了cookie,设置为空则可以获取到cookie了:

idea新建springCloud项目(8)- 网关服务 - zuul

(2)动态配置路由:

1.把本地这些配置放到在git上:

idea新建springCloud项目(8)- 网关服务 - zuul

2.需要注意版本问题,spring-bus有点问题,要用M5版本:https://github.com/spring-cloud/spring-cloud-bus/issues/101/

3.加注解:@ConfigurationProperties("zuul"),这样才可以完成配置动态注入

idea新建springCloud项目(8)- 网关服务 - zuul

也可以直接写在启动类上,就不用新建类了:

idea新建springCloud项目(8)- 网关服务 - zuul

 

转载于:https://my.oschina.net/monroe/blog/1941550