스프링

[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. 확인하기

http://localhost:8000/first-service/welcome
http://localhost:8000/second-service/welcome

반응형