강의

멘토링

로드맵

Inflearn コミュニティ Q&A

ryool のプロフィール画像
ryool

投稿した質問数

Spring Cloudで開発するマイクロサービスアプリケーション(MSA)

Spring Cloud Gateway - Global Filter適用 ➀

filter가 작동되지 않습니다.

作成

·

678

·

編集済み

0

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

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

Kafkamsaspring-bootspring-cloudarchitectureJPA

クイズ

56%が間違えています。挑戦してみましょう!

마이크로서비스 아키텍처에서 API Gateway의 주된 역할은 무엇일까요?

서비스 간 직접 통신

데이터베이스 관리

클라이언트 요청의 단일 진입점 및 라우팅

마이크로서비스 내부 로직 실행

回答 1

0

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

 

ryool のプロフィール画像
ryool

投稿した質問数

質問する