Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Microservice and Swagger / 7 сообщений из 7, страница 1 из 1
27.03.2020, 07:30
    #39941551
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
Здравствуйте

Имеется следующая структура
Eureka Server
Eureka Client WebFlux
Spring Cloud Gateway

У микросервисов имеется поддержка Spring OpenApi
На gatewayе настроенны маршруты. Могу получить доступ к любому свггеру.

Можно ли сделать один динамический свагер на gateway для всех микросервисов?

Чтоб он собирал или брал всю информацию о контроллерах

На эту тему нашел только одну статью, но сделать не получается
https://piotrminkowski.com/2018/04/26/quick-guide-to-microservices-with-spring-boot-2-0-eureka-and-spring-cloud/
...
Рейтинг: 0 / 0
27.03.2020, 09:47
    #39941566
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
-=Koba=-,

не понятно чего в итоге хочется добиться..
...
Рейтинг: 0 / 0
27.03.2020, 13:24
    #39941644
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
skyANA
-=Koba=-,

не понятно чего в итоге хочется добиться..


Чтоб свагер был один на gateway
...
Рейтинг: 0 / 0
27.03.2020, 14:39
    #39941662
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
-=Koba=-
skyANA
-=Koba=-,

не понятно чего в итоге хочется добиться..


Чтоб свагер был один на gateway

с выпадающими спецификациями справа в углу как в примере или чтобы все методы из всех сервисов на одной странице были?

Если первое, то у нас такое реализовано, как раз примерно как в примере, через swaggerResource
...
Рейтинг: 0 / 0
27.03.2020, 14:40
    #39941665
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
пример класса в сервисе гейтвея:
DocumentationController
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
import ru.ibs.apigateway.config.VersionAPI;
import springfox.documentation.swagger.web.SwaggerResource;
import springfox.documentation.swagger.web.SwaggerResourcesProvider;

import java.util.ArrayList;
import java.util.List;

@Component
@Primary
@EnableAutoConfiguration
public class DocumentationController implements SwaggerResourcesProvider {

    @Override
    public List<SwaggerResource> get() {
        List<SwaggerResource> resources = new ArrayList<>();
        resources.add(swaggerResource("auth", "/auth_api/v2/api-docs?group=/api" + VersionAPI.API_V1, "2.0"));
        resources.add(swaggerResource("content", "/content_api/v2/api-docs?group=/api" + VersionAPI.API_V1, "2.0"));
        resources.add(swaggerResource("olap", "/data_api/v2/api-docs?group=/api" + VersionAPI.API_V1, "2.0"));
        resources.add(swaggerResource("report", "/report_api/v2/api-docs?group=/api" + VersionAPI.API_V1, "2.0"));
        resources.add(swaggerResource("custom", "/custom_api/v2/api-docs?group=/api" + VersionAPI.API_V1, "2.0"));
        resources.add(swaggerResource("bft", "/bft_auth_api/v2/api-docs?group=/api" + VersionAPI.API_V1, "2.0"));
        return resources;
    }

    private SwaggerResource swaggerResource(String name, String location, String version) {
        SwaggerResource swaggerResource = new SwaggerResource();
        swaggerResource.setName(name);
        swaggerResource.setLocation(location);
        swaggerResource.setSwaggerVersion(version);
        return swaggerResource;
    }
}

...
Рейтинг: 0 / 0
27.03.2020, 14:42
    #39941666
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
Ну и в пропертях надо будет роуты прописать вам
кусок пропертей
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
zuul:
  host:
    connect-timeout-millis: 20000
    socket-timeout-millis: 20000
    max-per-route-connections: 100
  routes:
    auth-service:
      path: /${AUTH_PATH:auth_api}/**
      serviceId: auth-service
      stripPrefix: false
      sensitive-headers:
    content-service:
      path: /${CONTENT_PATH:content_api}/**
      serviceId: content-service
      sensitive-headers:
    olap-data-service:
      path: /${OLAPDATA_PATH:data_api}/**
      serviceId: olap-data-service
      sensitive-headers:

...
Рейтинг: 0 / 0
01.04.2020, 13:24
    #39942820
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Microservice and Swagger
Благодарю
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Microservice and Swagger / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]