작성
·
586
·
수정됨
0
- 강의에 있는 거 그대로 사용했는데 log가 뜨지를 않습니다. 디버그를 찍어보니 필터를 거치지 않는데 어떻게 해결을 해야될까요??
- 요청은 정상적으로 가고 응답도 first-service / second-serivIce에 맞게 잘 가져옵니다.
답변 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();
}
}