Filter

Untitled

Spring Cloud Gateway안에서 일어나는 작업을 확대해보면 Gateway Handler Mapping에서 요청 정보를 받고 Predicate에서 요청에 대한 사전 조건에 의해 분기 처리 역할을 해준다.

  1. Java로 라우팅 및 필터 등록

Untitled

@Configuration 어노테이션을 통해 등록할 수 있으며 gateway에 연결될 서비스들을 yml과 동일하게 등록할 수 있다.

route와 filter 메소드를 람다식을 사용해서 등록할 수 있으며, 상단 예제에서는 요청 헤더와 응답 헤더에 각각 헤더값을 추가하는 filter를 추가하였다.

  1. yml 파일 등록

    Untitled

처음에 라우팅 설정한 이후 filter 필드를 추가하여 gateway를 설정할 수 있다.

해당 예시도 java 코드와 동일하게 요청, 응답에 대해 헤더값을 추가하는 Filter를 추가하였다.


Custom Filter

사용자가 권한을 인증하거나, 특정 작업에 대한 로깅 처리 등을 목적으로 필터를 생성하여 등록할 수 있다.

Untitled

Custom Filter를 생성하기 위해서는 AbstractGatewatFilterFactory를 상속 받아서 Class를 생성 후 Bean으로 등록해야 한다.