강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của parkht0742
parkht0742

câu hỏi đã được viết

Ứng dụng kiến trúc microservice (MSA) phát triển với Spring Cloud

Spring Cloud Gateway - Áp dụng Global Filter ➀

custom, global filter yaml파일이 아닌 자바 소스에 설정하는 방법 문의드립니다.

Viết

·

539

1

안녕하세요. 먼저 좋은 강의 만들어주셔서 감사합니다.

덕분에 MSA, Spring Cloud에 대한 기초를 잘 잡아가고 있습니다.

제가 질문드리고자 하는 내용은

이번 강의에서 만든 CustomFilter, Global Filter 를 application.yml파일이 아닌 사전에 만들었던 FilterConfig.java에서 설정하는 방법입니다.

CustomFilter, , Global Filter를 빈으로 주입받은 후에 필터를 넣으려고 했는데 타입이 맞지 않는 메서드만 제공하고 있는 것 같아서요.

괜찮으시다면 소스 추가 부탁드립니다.

감사합니다.

JPAspring-bootspring-cloudarchitectureKafkamsa

Câu trả lời 2

2

Dowon Lee님의 프로필 이미지
Dowon Lee
Người chia sẻ kiến thức

안녕하세요, 이도원입니다. 

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

parkht님의 프로필 이미지
parkht
Người đặt câu hỏi

안녕하세요!! 답변 감사드립니다!!

혹시 Global pattern 에 경우는 path를 /**로 설정하면 될까요?.

Hình ảnh hồ sơ của parkht0742
parkht0742

câu hỏi đã được viết

Đặt câu hỏi