인프런 커뮤니티 질문&답변

fbfbf1님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Spring Cloud Gateway - Custom Filter 적용 ➁

filter가 작동되지 않습니다.

22.12.26 00:18 작성

·

569

·

수정됨

0

- 강의에 있는 거 그대로 사용했는데 log가 뜨지를 않습니다. 디버그를 찍어보니 필터를 거치지 않는데 어떻게 해결을 해야될까요??

- 요청은 정상적으로 가고 응답도 first-service / second-serivIce에 맞게 잘 가져옵니다.

답변 1

0

Sh Lee님의 프로필 이미지

2023. 12. 04. 02:39

FilterConfig가 동작하고 계셔서 그런 거 같습니다
주석 처리 하셔서 Bean에서 제외 시켜 주세요.

 

//@Configuration 주석
public class FilterConfig {
    
    //@Bean 주석
    public RouteLocator gatewayRoutes(RouteLocatorBuilder builder){



아니면 application.yaml설정을 제외하시고 FilterConfig.java에서 추가하는 방법도 있더군요

 

@Configuration
@RequiredArgsConstructor
public class FilterConfig {

    private final CustomFilter customFilter; // java로 커스텀 필터 등록 방법

    @Bean
    public RouteLocator gatewayRoutes(RouteLocatorBuilder builder){
        return builder.routes()
                .route(r ->
                        r.path("/first-service/**")
                        .filters( f -> f.addRequestHeader("first-request", "first-request-header")
                                        .addResponseHeader("first-response", "first-response-header")
                                .filter(customFilter.apply(customFilter.newConfig())) // java로 커스텀 필터 등록 방법
                        )
                        .uri("http://localhost:8081")
                )
                .route(r ->
                        r.path("/second-service/**")
                        .filters( f -> f.addRequestHeader("second-request", "second-request-header")
                                        .addResponseHeader("second-response", "second-response-header"))
                        .uri("http://localhost:8082")
                )
                .build();
    }
}

 

fbfbf1님의 프로필 이미지

작성한 질문수

질문하기