최대 1 분 소요

Spring Cloud Gateway 에서 Filter의 역할

Spring Cloud Gateway Filter 동작원리

  • Gateway Handler Mapping : 요청이 오면 헨들러를 찾고
  • predicate : 해당하는 predicate 를 본다.

    • 각 path 와 매치하는 uri 로 요청이 간다.
  • uri 호출 전에 **사전 필터가 작동한다.
  • 응답을 받고
  • **사후 필터가 작동

필터의 종류

  • 제공하는 필터
  • Custom Filter
  • Global Filter

제공하는 필터

image

  • 제공하는 옵션을 이용하여 헤더에 추가등을 할 수가 있고
  • 왼쪽이 키 값, 오른 쪽이 value 값이다.

Custom Filter

image

1) AbstractGatewayFilterFactory

  • AbstractGatewayFilterFactory 를 상속을 받고
  • 타입 설정을 해줄 수 있다. 이때의 Config 정보가 오버라이딩 메서드에 매개변수로 작동
  • 보통 필터안에 이너 클래스로 정의

2) 생성자

image

3) apply 메소드

  • 사전 필터와 사후 필터를 적용할 수 있다.

image

**Exchange 객체

  • Spring webflux 를 사용하면 기존의 mvc 방식에서 사용이 되었던 httpServlet request,response 를 지원하지 않고 server request,response 를 지원하게 된다.
  • 그 request,response 를 사용하게 해주는 것이 exchange 객체이다.

  • 또한 필터의 순서를 정할 수 있다.

image

4) 그리고 yml 파일에서 적용을 하면 된다.

  • 그냥 적용

image

5) config 파일 매개변수와 함께 적용

image

Global Filter

  • 위에서 만든 Custom 필터를 전역으로 처리하게 할 수 있다.

image

태그:

카테고리:

업데이트: