스프링
[Spring] Spring Cloud Gateway 사용법
nan2
2023. 1. 1. 16:50
반응형
1. dependency 추가
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2-1. application.yml 파일에 route 정보 설정
server:
port: 8000
spring:
application:
name: apigateway-service
cloud:
gateway:
routes:
- id: {route의 고유 식별자} // first-service
uri: {해당 route의 주소} // http://localhost:8081/ (이동될 주소)
predicates: // 해당 라우터의 조건 (사용자가 입력한 주소) (/first-service/**로 들어오는 요청은 모두 first-service route로 보낸다.
- Path=/first-service/**
*/
- id: {route의 고유 식별자} // second-service
uri: {해당 route의 주소} // http://localhost:8082/
predicates: // 해당 라우터의 조건 (/second-service/**로 들어오는 요청은 모두 first-service route로 보낸다.
- Path=/second-service/**
2-2. Java Code로 route 정보 설정
package com.example.apigatewayservice.config;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FilterConfig {
@Bean
public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
return builder.routes()
.route(r -> r.path("/first-service/**")
.uri("http://localhost:8081"))
.route(r -> r.path("/second-service/**")
.uri("http://localhost:8082"))
.build();
}
}
3. 확인하기
반응형