今天在学习zuul的时候,有一种映射通过正则匹配来实现,直接看代码:
@Bean
public PatternServiceRouteMapper serviceRouteMapper() {
return new PatternServiceRouteMapper(
"(?<name>^.+)-(?<version>v.+$)",
"${version}/${name}");
}
上面的bean注入到zuul的启动文件后,映射规则为v1/myusers/** 对应的服务是myusers-v1,这样的话在开发过程中没必要在一个项目中写多个版本的代码,在maven中设置里程碑即可,每个项目只维护对应的版本,一般旧版本也无需维护。
个人认为所有的版本都放在一个项目比较繁琐,大家有什么想法,欢迎留言交流