ZuulProperties не вернет никаких маршрутов - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать консолидированный интерфейс Swagger для всех моих микроуслуг в моей службе Zuul Edge.Edge Service работает в Kubernetes, и служба Service Discovery использует Spring Cloud Kubernetes.

При запросе исполнительных / конечных точек я вижу все свои микроуслуги.

Однако при использовании ZuulProperties -> getRoutes (). Values ​​() я просто получаю пустой массив.

Нужно ли жестко кодировать маршруты в application.properties или есть способиспользовать обнаружение службы для динамического извлечения всех маршрутов?

application.properties:

spring.application.name=gateway-service
eureka.client.enabled=false
zuul.sensitiveHeaders=
zuul.ignoreSecurityHeaders=false
management.endpoints.web.exposure.include=*
server.port=8080

swaggerconfig.java:

@Autowired
ZuulProperties properties;

@Primary
@Bean
public SwaggerResourcesProvider swaggerResourcesProvider() {
    return () -> {
        List<SwaggerResource> resources = new ArrayList<>();

        System.out.println("Zuul routes " + properties.getRoutes().values().toString());

        properties.getRoutes().values().stream().forEach(route -> 
                resources.add(createResource(route.getId(), "2.0")));
        return resources;
    };
}

private SwaggerResource createResource(String location, String version) {

    System.out.println("Location: " + location);
    System.out.println("Version: " + version);

    SwaggerResource swaggerResource = new SwaggerResource();
    swaggerResource.setName(location);
    swaggerResource.setLocation("/" + location + "/v2/api-docs");
    swaggerResource.setSwaggerVersion(version);
    return swaggerResource;
}   

1 Ответ

0 голосов
/ 11 апреля 2019

ZuulProperties получит ваши маршруты из application.properties, у вас должно быть что-то вроде:

zuul.routes.<some_service>.path = /<your_path>/**
zuul.routes.<some_service>.serviceId = <your_service_id>
...

Но это не ответит на ваш вопрос, что вам нужно, это документация по микроуслугам и ссылкам, проверьте это

...