Route란?
고유ID, 목적지 URI, Predicate, Filter로 구성된 구성요소.
GATEWAY로 요청된 URI의 조건이 참일 경우, 매핑된 해당 경로로 매칭을 시켜줍니다.
Predicate란?
주어진 요청이 주어진 조건을 충족하는지 테스트하는 구성요소
각 요청 경로에 대해 충족하게 되는 경우 하나 이상의 조건자를 정의할 수 있습니다.
만약 Predicate에 매칭되지 않는다면 HTTP 404 not found를 응답합니다.
Filter란?
GATEWAY 기준으로 들어오는 요청 및 나가는 응답에 대하여 수정을 가능하게 해주는 구성요소
📌출처: https://saramin.github.io/2022-01-20-spring-cloud-gateway-api-gateway/
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
server:
port: 7080
spring:
cloud:
gateway:
routes:
- id: yalooStore-shop
uri: http://localhost:8081
predicates:
- Path= /api/**
- id: yalooStore-front
uri: http://localhost:8082
predicates:
- Path=/members/**