From 9e7ff930d350cc07a412826b3a823619528b7919 Mon Sep 17 00:00:00 2001 From: smallchill Date: Mon, 23 Sep 2019 17:04:39 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E5=8E=BB=E6=8E=89=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E5=A4=84=E7=9A=84endpoint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gateway/endpoint/RouteEndpoint.java | 86 ------------------- .../resource}/endpoint/DiscoveryEndpoint.java | 2 +- 2 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 blade-gateway/src/main/java/org/springblade/gateway/endpoint/RouteEndpoint.java rename {blade-gateway/src/main/java/org/springblade/gateway => blade-ops/blade-resource/src/main/java/org/springblade/resource}/endpoint/DiscoveryEndpoint.java (97%) diff --git a/blade-gateway/src/main/java/org/springblade/gateway/endpoint/RouteEndpoint.java b/blade-gateway/src/main/java/org/springblade/gateway/endpoint/RouteEndpoint.java deleted file mode 100644 index 4e811561..00000000 --- a/blade-gateway/src/main/java/org/springblade/gateway/endpoint/RouteEndpoint.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - */ -package org.springblade.gateway.endpoint; - -import lombok.AllArgsConstructor; -import org.springblade.gateway.dynamic.GatewayPredicate; -import org.springblade.gateway.dynamic.GatewayRoute; -import org.springblade.gateway.dynamic.DynamicRouteService; -import org.springframework.cloud.gateway.handler.predicate.PredicateDefinition; -import org.springframework.cloud.gateway.route.RouteDefinition; -import org.springframework.cloud.gateway.route.RouteDefinitionLocator; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.util.UriComponentsBuilder; -import reactor.core.publisher.Flux; - -import java.net.URI; -import java.util.ArrayList; -import java.util.List; - -/** - * 动态路由端点 - * - * @author Chill - */ -@RestController -@AllArgsConstructor -@RequestMapping("/route") -public class RouteEndpoint { - - private DynamicRouteService dynamicRouteService; - private RouteDefinitionLocator routeDefinitionLocator; - - @GetMapping("/list") - public Flux list() { - return routeDefinitionLocator.getRouteDefinitions(); - } - - @PostMapping("/save") - public String save(@RequestBody GatewayRoute gatewayRoute) { - RouteDefinition definition = assembleRouteDefinition(gatewayRoute); - return this.dynamicRouteService.save(definition); - } - - @PostMapping("/update") - public String update(@RequestBody GatewayRoute gatewayRoute) { - RouteDefinition definition = assembleRouteDefinition(gatewayRoute); - return this.dynamicRouteService.update(definition); - } - - @GetMapping("/delete/{id}") - public String delete(@PathVariable String id) { - return this.dynamicRouteService.delete(id); - } - - private RouteDefinition assembleRouteDefinition(GatewayRoute gatewayRoute) { - RouteDefinition definition = new RouteDefinition(); - List pdList = new ArrayList<>(); - definition.setId(gatewayRoute.getId()); - List gatewayPredicateDefinitionList = gatewayRoute.getPredicates(); - for (GatewayPredicate gpDefinition : gatewayPredicateDefinitionList) { - PredicateDefinition predicate = new PredicateDefinition(); - predicate.setArgs(gpDefinition.getArgs()); - predicate.setName(gpDefinition.getName()); - pdList.add(predicate); - } - definition.setPredicates(pdList); - URI uri = UriComponentsBuilder.fromHttpUrl(gatewayRoute.getUri()).build().toUri(); - definition.setUri(uri); - return definition; - } - -} diff --git a/blade-gateway/src/main/java/org/springblade/gateway/endpoint/DiscoveryEndpoint.java b/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/DiscoveryEndpoint.java similarity index 97% rename from blade-gateway/src/main/java/org/springblade/gateway/endpoint/DiscoveryEndpoint.java rename to blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/DiscoveryEndpoint.java index 9b9393f5..24ef6bbf 100644 --- a/blade-gateway/src/main/java/org/springblade/gateway/endpoint/DiscoveryEndpoint.java +++ b/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/DiscoveryEndpoint.java @@ -14,7 +14,7 @@ * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ -package org.springblade.gateway.endpoint; +package org.springblade.resource.endpoint; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j;