티스토리 뷰
API Gateway Pre & Post Custom Filter 설정
Pre-filtes ( 사전 필터 )
요청이 목적지로 라우팅되기 전에 호출되는 필터이다.
[일반적인 사용 사례]
- 요청 메시지 검증(Validation) 처리
- 요청 권한이 있는 계정인지 인증하는 작업 ( 게이트 키퍼 )
Post-filtes ( 사후 필터 )
서비스 호출후 클라이언트에게 응답이 나가기 전에 호출된다. 일반적으로 응답을 아카이빙하거나 오류 처리및 응답 검사에 사용된다.
[일반적인 사용 사례]
- 응답 시 응답내용을 아카이빙한다.
- 응답이 정상적인지 검사하고 오류가 발생했을 때 오류처리한다.
예제 코드
설정
전제
- Eureka 를 사용한 서비스 디스커버리가 존재한다고 가정한다.
- User Service와 Order Service의 상세내용은 아래 Git Repo를 참조한길 바란다.
build.gradle 작성
- Eureka, Gateway 의존성 추가
설정파일 작성 (YAML)
Pre-Filter 구현
- GlobalFilter 구현
- @Component 를 통해 스프링 빈 등록
- @Order(int order) 어노테이션으로 필터 순서 설정
💡 추상 클래스인 AbstractGatewayFilterFactory 를 확장한 커스텀 필터를 생성하고 설정파일(YAML)에 관련 필터설정을 추가하는 방법도 있다. (링크)
Post Filter 구현
- GlobalFilter 를 팩토리 메소드를 통해 스프링 빈으로 등록하는 방식.
- Mono.fromRunnable(... 뒷 부분의 내용이 Post Filter 영역이다.
💡 추상 클래스인 AbstractGatewayFilterFactory 를 확장한 커스텀 필터를 생성하고 설정파일(YAML)에 관련 필터설정을 추가하는 방법도 있다. (링크)
결과
GET: http://localhost:8072/order/1 호출 후 콘솔 로깅
Git Repo
참조
'BackEnd > Spring' 카테고리의 다른 글
추상 팩토리 패턴으로 스프링 컨테이너 흉내내기 (0) | 2022.09.12 |
---|---|
WebSocket으로 Echo서버 구현하기 with.Spring boot (0) | 2022.09.06 |
[Spring Cloud] OpenFeign 으로 마이크로서비스간 통신하기 (0) | 2022.08.31 |
Spring Cloud는 OOO이다. (0) | 2022.08.30 |
[Spring Cloud]Config Server로 구성 관리및 동적으로 설정 적용 (0) | 2022.08.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정적 타입 언어
- 내부 단편화
- 뾰족함
- 클린 아키텍처
- SpringBoot 2.2
- 육각형 아키텍처
- ATDD
- 장애 해결기
- RestAssured
- OOP
- Memory Fragmentation
- Clean Architecture
- 세션 불일치
- Sticky Session
- Session
- 수직 분할
- java
- pool
- 동적 디스패치
- 객체 풀
- pass by value
- 외부 단편화
- 메모리 단편화
- Object Pool
- pass by reference
- multimap
- 메모리 파편화
- 컴포짓 패턴
- 수평 분할
- 동적 타입 언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함