반응형
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. 확인하기
반응형
'스프링' 카테고리의 다른 글
[Spring] 스프링 시큐리티 로그인 구현하기(spring boot 3.x.x 버전 - spring security 6.x) (0) | 2023.08.21 |
---|---|
[Spring] 스프링부트 RabbitMQ 연동하기 (1) | 2023.06.14 |
[Spring] Spring Cloud Netflix Eureka (1개의 PC에서 여러 인스턴스 등록하기) (0) | 2022.12.29 |
[Spring] Spring Cloud Netflix Eureka 란? (0) | 2022.12.28 |
[Spring] ServletUriComponentsBuilder 사용하여 사용자에게 URI 전달하기 (0) | 2022.10.10 |