작성
·
444
1
안녕하세요. 먼저 좋은 강의 만들어주셔서 감사합니다.
덕분에 MSA, Spring Cloud에 대한 기초를 잘 잡아가고 있습니다.
제가 질문드리고자 하는 내용은
이번 강의에서 만든 CustomFilter, Global Filter 를 application.yml파일이 아닌 사전에 만들었던 FilterConfig.java에서 설정하는 방법입니다.
CustomFilter, , Global Filter를 빈으로 주입받은 후에 필터를 넣으려고 했는데 타입이 맞지 않는 메서드만 제공하고 있는 것 같아서요.
괜찮으시다면 소스 추가 부탁드립니다.
감사합니다.
답변 2
2
안녕하세요, 이도원입니다.
FilterConfig에서 기존에 생성하셨던 Filter 클래스(CustomFiler, AuthorizationHeaderFilter 등)를 필터로 등록하실려면 아래와 같이 작업해 보시기 바랍니다. (gatewayRoute 메소드의 filter() 부분)
@Configuration
public class FilterConfig {
Environment env;
public FilterConfig(Environment env) {
this.env = env;
}
@Bean
public RouteLocator gatewayRoutes(RouteLocatorBuilder builder, AuthorizationHeaderFilter myfilter) {
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(myfilter.apply(new AuthorizationHeaderFilter.Config())))
.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();
}
}
https://www.inflearn.com/questions/351888
감사합니다.
0