Springcloud涔婫ateway缁勪欢鎬庝箞浣跨敤
浣跨敤Spring Cloud Gateway缁勪欢鍙互閫氳繃绠€鍗曠殑閰嶇疆鏂瑰紡鏉ュ疄鐜癆PI缃戝叧鍔熻兘銆備笅闈㈡槸浣跨敤Spring Cloud Gateway缁勪欢鐨勬楠わ細
- 娣诲姞渚濊禆锛氬湪椤圭洰鐨?code>pom.xml鏂囦欢涓坊鍔燬pring Cloud Gateway鐨勪緷璧栵紝濡備笅鎵€绀猴細
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
- 鍒涘缓閰嶇疆绫伙細鍒涘缓涓€涓厤缃被锛岀敤浜庨厤缃矾鐢辫鍒欏拰鍏朵粬鐩稿叧鐨勯厤缃€傚彲浠ヤ娇鐢?code>@Configuration娉ㄨВ鏍囨敞璇ョ被銆?/li>
@Configuration
public class GatewayConfig {
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("route_name", r -> r.path("/api/**")
.filters(f -> f.stripPrefix(1))
.uri("http://example.com"))
.build();
}
}
涓婅堪閰嶇疆绫讳腑锛?code>customRouteLocator鏂规硶杩斿洖涓€涓?code>RouteLocator瀵硅薄锛岄€氳繃builder.routes()鏂规硶鍒涘缓璺敱瑙勫垯锛屼娇鐢?code>r.path()鏂规硶鎸囧畾璺緞鍖归厤瑙勫垯锛屼娇鐢?code>f.stripPrefix()鏂规硶鍘婚櫎璇锋眰璺緞鐨勫墠缂€锛屼娇鐢?code>uri()鏂规硶鎸囧畾杞彂鐩爣鐨刄RL銆?/p>
-
閰嶇疆鏂囦欢锛氬湪
application.properties鎴?code>application.yml鏂囦欢涓厤缃鍙e彿鍜屽叾浠栫浉鍏抽厤缃€?/p> -
鍚姩搴旂敤绋嬪簭锛氬惎鍔ㄥ簲鐢ㄧ▼搴忓悗锛孏ateway缁勪欢浼氳嚜鍔ㄥ姞杞介厤缃苟鍚姩銆?/p>
浠ヤ笂鏄娇鐢⊿pring Cloud Gateway缁勪欢鐨勫熀鏈楠わ紝浣犲彲浠ユ牴鎹嚜宸辩殑闇€姹傝繘琛屾洿璇︾粏鐨勯厤缃拰鎵╁睍銆?/p>