Вы можете объединить документацию по API нескольких служб, внедрив SwaggerResourcesProvider
, а затем переопределить метод public List get()
. Если вы используете zuul, ниже должно работать:
@Component
@Primary
@EnableAutoConfiguration
public class DocumentationController implements SwaggerResourcesProvider {
@Override
public List get() {
List resources = new ArrayList<>();
resources.add(swaggerResource("sample-service", "/api/sample/v2/api-docs", "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;
}
}
Конфигурация маршрута шлюза будет выглядеть так:
zuul:
prefix: /api
routes:
account:
path: /sample/**
serviceId: sample-service
Исходное сообщение: Документация по API Microservices с Swagger2