PackageCom.itmuch.cloud;Importorg.springframework.boot.SpringApplication;Importorg.springframework.boot.autoconfigure.SpringBootApplication;ImportOrg.springframework.cloud.netflix.zuul.EnableZuulProxy;ImportOrg.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapper;ImportOrg.springframework.context.annotation.Bean, @SpringBootApplication @enablezuulproxy Public classzuulapplication { Public Static voidMain (string[] args) {Springapplication.run (zuulapplication.class, args); } //regular-expression routing rules://name-version mapping into Version/name//user Micro-service via http://192.168.88.1:7901/SIMPLE/1 Access, user Micro service name is Microservice-provider-user-v1-v2//via http://192.168.88.1:8040/V2/MICROSERVICE-PROVIDER-USER-V1/SIMPLE/1 can access the user micro-service@Bean Publicpatternserviceroutemapper Serviceroutemapper () {return NewPatternserviceroutemapper ("(? <name>^.+)-(? <version>v.+$)", "${version}/${name}"); }}
Spring: application: name:microservice-gateway-zuulserver: 8040Eureka: Client: service-URL: defaultzone:http://user:[email protected]:8761/ Eureka instance: prefertrue
<project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance"xsi:schemalocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelversion>4.0.0 </modelVersion> <parent> <groupId>com.itmuch.cloud</groupId> <artifactid>mi Croservice-spring-cloud</artifactid> <version>0.0.1-SNAPSHOT</version> </parent> < Artifactid>microservice-gateway-zuul-reg-exp</artifactid> <packaging>jar</packaging> < Properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> ; <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactid>spring-cloud-starter-eureka </artifactId> </dePendency> </dependencies></project>
SPRINGCLOUD17---Zuul-reg-exp