老师,为什么post方法修改一个gateway的路由,却变成了新增?
来源:10-12 监控Spring Cloud Gateway
他门说这就是人生
2020-06-04
localhost:10000/actuator/gateway/routes/qa POST
qa是routes id,
一下是请求的参数:
{ "predicates": [ { "name": "Switch", "args": { "_genkey_0": false } } ], "uri": "http://192.168.101.232:8004", "order": 0, "route_id":"qa" }
其实我想实现一个可在界面操作,来启停网关的功能。写了一个开关谓词工厂,其实就是一个布尔值。想通过actuator修改这个值来实现界面的启停服务转发,为什么不行呢。请求之后,它为我新增了一个路由,而不是修改路由
ps:
我删除routes也返回404,spring cloud和boot版本已经和您的统一了:
localhost:10000/actuator/gateway/routes/qa DELETE 返回404
ps2:
这是post请求之后,查看routes端点的结果:
[ { "route_id": "qa", "route_definition": { "id": "qa", "predicates": [ { "name": "Switch", "args": { "_genkey_0": "false" } } ], "filters": [], "uri": "http://localhost:8004/img/top/pclight.png", "order": 0 }, "order": 0 }, { "route_id": "qa", "route_definition": { "id": "qa", "predicates": [ { "name": "Switch", "args": { "_genkey_0": "false" } } ], "filters": [], "uri": "http://localhost:8004/img/top/pclight.png", "order": 0 }, "order": 0 } ]
写回答
1回答
-
您好,您的思路没有问题。
http://www.imooc.com/article/290822
参考这篇手记。
访问localhost:10000/actuator/gateway/routes能有正常的返回吗?
什么是修改变新增?route_id是唯一的,你那本产生了两个route_id相同的路由?
042020-06-06
相似问题