우선 Spring Cloud Gateway 에서 사용하는 3가지 용어에 대해서 먼저 알아볼 필요가 있다.
목적지의 URI와 Predicates라는 조건들의 목록 그리고 필터들을 이용하여 어떤 곳으로 Routing 할 것인지를 명시하는 역할을 한다.
우리는 Routes 에 대한 속성과 정보를 입력하여 Spring Cloud가 어떤 방식으로 동작하라고 지시할 수 있게 된다.
쉽게 조건이라고 생각하면 된다.
아래에서 우리는 Predicates 를 작성할 것인데, 다음과 같이 작성한다.
predicated: -Path=/user/**
그럼 user 라는 모든 경로를 지정한 것이다.
프록시 방식으로 동작하며, 한 필터에 pre / post 동작을 정의 할 수 있다.
모든 pre 필터가 처리된 후 요청이 처리되고 나오면서 모든 post 필터가 처리된다.
들어오는 요청과 응답, Request, Response을 특정 필터를 타게 함으로 우리가 원하는 방식으로 요청을 보내거나 헤더를 조작할 수 있고, 해당 필터를 이용해서 로그 파일을 작성하게 할 수 도 있다.