1.创建项目的时候记得加上eureka client+zuul+config client
还有依赖:实现动态刷新:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
别忘了这个
如果要实现自动刷新,还得搞个类:
package van.gateway.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.netflix.zuul.filters.ZuulProperties;
import org.springframework.stereotype.Component;
/**
* @author Van
* @date 2020/4/11 - 13:37
*/
@Component
public class Config {
@ConfigurationProperties("zuul")
@RefreshScope
public ZuulProperties zuulProperties(){
return new ZuulProperties();
}
}
当然别忘了git上要有于它application nane对应的文件:
2.启动类加上:
@EnableDiscoveryClient
@EnableZuulProxy
3.配置文件:
server.port=6080
#应用名字
spring.application.name=gateway
#注册地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
#config client配置
spring.cloud.config.discovery.service-id=config
spring.cloud.config.discovery.enabled=true
spring.cloud.config.profile=dev
#有关网关配置
#把/MyClient/**这个地址,映射到client上
zuul.routes.client=/MyClient/**
#和上面一样,这是个复杂写法,其中xxx这个是个名字,随便取,我这里取的就是xxx
#zuul.routes.xxx.service-id=client
#zuul.routes.xxx.path=/MyClient/**
#。。。。。。。。。。。。。。。。
#忽略某个端口,这里注意下,他要set,我还没搞懂properties文件里要怎么搞,yml的话是 - /**/api
#zuul.ignored-patterns=......
#设置敏感头为空,这样浏览器通过gateway访问才会有cookie,要不然没有cookie
zuul.sensitive-headers=
然后启动:去访问别的应用的api: