动态删除zuul路由而无需重新启动网关

Dev*_*404 7 spring-boot netflix-eureka netflix-zuul

嗨,我想删除zuul动态创建的路由。我没有使用云服务器。我无法使用添加路线discoveryclientroutelocator

但是我找不到注销动态添加的路由的选项。这种删除应该在不重新启动网关的情况下发生。救命。

    ZuulRoute zuulRoute = new ZuulRoute();
    zuulRoute.setId(externalapis.getServiceId());
    zuulRoute.setServiceId(externalapis.getServiceId());
    zuulRoute.setPath(externalapis.getPath());
    zuulRoute.setUrl(externalapis.getUrl());
    zuulRoute.setRetryable(true);
    discoveryClientRouteLocator.addRoute(zuulRoute);
Run Code Online (Sandbox Code Playgroud)

Dev*_*404 1

我使用下面的代码来添加、删除和更新。它无需重新启动网关即可工作

添加路线:

this.zuulProperties.getRoutes().put(externalapis.getServiceId(), zuulRoute);
Run Code Online (Sandbox Code Playgroud)

删除路线:

this.zuulProperties.getRoutes().remove(externalapis.getServiceId());
Run Code Online (Sandbox Code Playgroud)

更新路线:

this.zuulProperties.getRoutes().remove(oldExternalapis.getServiceId());

this.zuulProperties.getRoutes().put(newExternalapis.getServiceId(), zuulRoute);
Run Code Online (Sandbox Code Playgroud)