03. MicroService(Outer)

게이트웨이 핸들러 매핑(Gateway Handler Mapping)'

카이저일공 2024. 2. 13. 22:13

게이트웨이 핸들러 매핑

게이트웨이 핸들러 매핑은 Spring Cloud Gateway에서 들어오는 요청을 특정 핸들러로 라우팅하는 데 사용되는 메커니즘입니다.

1. 작동 방식

  1. 클라이언트가 Spring Cloud Gateway 서버로 요청을 보냅니다.
  2. 게이트웨이 핸들러 매핑은 요청 URL을 기반으로 적절한 핸들러를 선택합니다.
  3. 선택된 핸들러는 요청을 처리합니다.

2. 구성

게이트웨이 핸들러 매핑은 다음과 같은 방법으로 구성됩니다.

  • routes YAML 파일
  • @Route 어노테이션

3. routes YAML 파일

routes YAML 파일은 다음과 같은 구조로 구성됩니다.

routes:
  - id: my-route
    uri: http://localhost:8080
    predicates:
      - Path=/my-path
  • id: 경로 ID
  • uri: 대상 URL
  • predicates: 요청을 매칭하는 데 사용되는 조건

4. @Route 어노테이션

@Route 어노테이션은 다음과 같이 사용됩니다.

@RestController
public class MyController {

  @Route("/my-path")
  public String myRoute() {
    return "Hello, World!";
  }

}

5. 예시

다음은 게이트웨이 핸들러 매핑 예시입니다.

routes:
  - id: my-route
    uri: http://localhost:8080
    predicates:
      - Path=/my-path

@RestController
public class MyController {

  @Route("/my-path")
  public String myRoute() {
    return "Hello, World!";
  }

}

이 예시에서 클라이언트가 http://localhost:8080/my-path URL로 요청을 보내면 MyController.myRoute() 메서드가 호출됩니다.