• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

filter가 작동되지 않습니다.

22.12.26 00:18 작성 22.12.26 00:37 수정 조회수 464

0

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

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

답변 1

답변을 작성해보세요.

0

Sh Lee님의 프로필

Sh Lee

2023.12.04

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();
    }
}