이슈
👉 2023-10-19T17:40:37.000+09:00 ERROR 10904 --- [ main] o.s.c.gateway.route.CachingRouteLocator : Refresh routes error !!!
java.lang.IllegalArgumentException: Unable to find GatewayFilterFactory with name addRequestHeader
at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:145) ~[spring-cloud-gateway-server-4.0.7.jar:4.0.7]
at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.getFilters(RouteDefinitionRouteLocator.java:192) ~[spring-cloud-gateway-server-4.0.7.jar:4.0.7]
at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.convertToRoute(RouteDefinitionRouteLocator.java:132) ~[spring-cloud-gateway-server-4.0.7.jar:4.0.7]
문제
👉 Spring Cloud Gateway에서 발생한 오류 메시지로 보입니다. 에러 메시지 내용을 간략하게 요약하면 "addRequestHeader"라는 이름의 GatewayFilterFactory를 찾을 수 없다는 내용입니다
해결
👉 FilterConfig에 있는 필터 코드와 yml파일에 있는 filters 필터명이 같아야 한다.
.route( r -> {
return r.path("/second-service/**")
.filters(f-> f.addResponseHeader("ssresh","sshreqv")
.addRequestHeader("ssreqh","sshreqv"))
.uri("http://localhost:8082/");
})
# 대입 연산자(=) 이용해서 콤마(,)로 나열하면 왼쪽부터 들어감 => 필터명 = 헤더이름,헤더값
filters:
#대문자임!! AddRequestHeader
- AddRequestHeader=fsreqhyml,fsreqhvyml
- AddResponseHeader= fsreqhyml,fsreqhvyml
'TIL > 트러블슈팅' 카테고리의 다른 글
[Node] getaddrinfo ENOTFOUND your-proxy-server (0) | 2024.02.28 |
---|---|
[SpringBoot] No acceptable representation (1) | 2024.02.09 |
[Docker] Docker failed to initialize (0) | 2023.12.12 |
[Docker] denied: requested access to the resource is denied (2) | 2023.11.26 |
[스프링부트]query did not return a unique result (0) | 2023.11.06 |