老师,为什么我这个不走路由谓词工厂

来源:10-7 自定义路由谓词工厂

无痕00

2019-08-15

图片描述
图片描述
这个去掉才走谓词工厂,但这样就找不到服务的路径了

写回答

3回答

平_常_心

2020-05-31

我今天也遇到了谓词不生效的问题,结果发现是路径问题

可以检查一下访问路径

(X 错误的路径) http://localhost:8040/user-center/users/1

(√ 正确的路径) http://localhost:8040/users/1

0
1
大目
是的,给您点赞! http://localhost:8040/user-center/users/1 这条路由是由locator.discovery.enabled=true控制的,不是由我们自定义的路由控制的,所以。其实视频路由谓词工厂一节,有对照手记强调过^_^ 祝您学习愉快!
2020-06-01
共1条回复

慕沐4323715

2019-08-20

同学 你解决了吗 我这也是 谓词和过滤器都不起作用

0
2
无痕00
让它走自定义的routes,就会走谓词和过滤器。具体原因我也不知道
2019-08-21
共2条回复

大目

2019-08-15

你配置表达的含义是:当且仅当你访问的是 $GATEWAY_URL/order-service/**  并且TimeBetween条件符合,才会访问到 order-service的/** 

排查思路,建议如下:

  1. 访问路径是否正确,看下上面的URL

  2. 你的谓词工厂是否被实例化了(可以在谓词工厂的方法内打个断点,如果实例化了,会有对号的标记);

  3. 更大的可能性,你的谓词工厂代码有问题。可以参考下课上的代码。https://git.imooc.com/coding-358/gateway/src/master/src/main/java/com/itmuch/gateway/TimeBetweenRoutePredicateFactory.java 。需要注意的是,类名必须以RoutePredicateFactory结尾,并且类上必须有@Component注解。

  4. yaml缩进是否正确。

0
0

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3054 学习 · 1322 问题

查看课程