123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package com.yaozhitech.spring5.config;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.cloud.gateway.route.RouteDefinition;
- import org.springframework.cloud.gateway.route.RouteDefinitionRepository;
- import org.springframework.stereotype.Component;
- import com.yaozhitech.spring5.service.RouteService;
- import lombok.extern.slf4j.Slf4j;
- import reactor.core.publisher.Flux;
- import reactor.core.publisher.Mono;
- @Component
- @Slf4j
- public class RedisRouteDefinitionRepository implements RouteDefinitionRepository {
- @Autowired
- private RouteService routeService;
- @Override
- public Flux<RouteDefinition> getRouteDefinitions() {
- return Flux.fromIterable(routeService.getRouteDefinitions());
- }
- @Override
- public Mono<Void> save(Mono<RouteDefinition> route) {
- return route.flatMap(routeDefinition -> {
- routeService.save(routeDefinition);
- return Mono.empty();
- });
- }
- @Override
- public Mono<Void> delete(Mono<String> routeId) {
- return routeId.flatMap(id -> {
- routeService.delete(id);
- return Mono.empty();
- });
- }
- }
|