ReWritePath필터의 세그먼트 식은 정규식일까요??
481
작성한 질문수 28
안녕하세요 선생님!
강의를 잘 듣던 와중에 궁금증이 생겨 질문 드립니다.
게이트 웨이에 설정한 필터 중,
요청 uri를 재정의 하기 위해서 RewritePath 라는 필터를 사용하잖아요.
이때 /user-service/(?<segment>.*), /$\{segment}
는 정규식인가요??... 정규식표현에 segment라는 것이 찾아봐도 나오지 않아서요!!
답변 3
1
안녕하세요, 이도원입니다.
Spring Gateway에서 사용하는 RewritePath는 자바 정규 표현식이 아닌 것으로 알고 있습니다.
URL의 일부를 다른 형식으로 변경하거나 다른 엔드포인트로 리디렉션할 때 사용되는데, 여기서 사용되는 패턴은 Java의 정규 표현식 기능이라기 보다는 URL 단위로 패턴 매칭하는 것이라고 보는게 좋을 것 같습니다. Spring 프레임워크의 rewritePath 에서의 segment는 일반적으로 URL 경로를 표현하고 있습니다. 예를 들어 http://example.com/api/products/123과 같은 UR도메인 부분을 제외한 /api, /products 및 /123 부분이 개별적인 segment가 되며, rewritePath에서는 이러한 segment를 다시 작성하거나 변환할 수 있습니다.
감사합니다.
1
안녕하세요, 인프런 AI 인턴입니다.
네, 맞습니다. RewritePath 필터에서 사용하는 표현은 정규표현식을 사용합니다. (?<segment>.*) 부분에서 segment는 정규표현식에서 “Named Capturing Group”이라고 부르는 방식 중 하나로, 정규표현식으로 캡쳐된 부분에 이름을 부여하기 위해 사용합니다. 이렇게 이름을 지정하면 나중에 $\{segment}와 같이 해당 부분을 참조할 때 사용할 수 있습니다.
실제 사용 예시에서는 /user-service/(?<segment>.*)를 통해 /user-service/ 이후의 URI 부분을 segment라는 이름의 캡쳐 그룹으로 잡고, 이를 후에 /$\{segment}를 통해 재사용함으로써, 요청 URI를 원하는 형태로 재정의하는데 사용됩니다.
예를 들어, 클라이언트가 /user-service/profiles/1으로 요청을 보내면, RewritePath 필터는 이를 /profiles/1로 변환하여 내부적으로 처리할 수 있도록 합니다.
kafka 업데이트 강의 듣고 시포요
0
82
1
강의 교안
0
68
1
마이크로서비스간 통신 시, 인증 처리
0
77
1
api gateway 에서 인증 처리
0
62
1
섹션 19 질문드립니다
0
50
1
강의 자료 업데이트
0
80
1
부하분산 강의 섹션
0
55
1
강의자료는 어디에서?
0
68
1
강의 자료는 어디서 다운 받을 수 있나요?
0
108
1
전체 사용자 조회시 오류
0
56
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
107
2
학습 방향
0
93
2
카프카 커넥터 사용 목적 문의
0
84
2
kafka 강의
0
104
2
서비스 디스커버리 종류
0
85
2
강의 자료에 대해서 궁금해요
0
113
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
87
2
Kafka Source Connect 버전 에러
0
82
2
소스커넥터는 사용안한 거 맞죠?
0
79
2
강의자료 업데이트 문의
0
93
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
55
1
강의 업데이트 계획이 궁금합니다.
0
110
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
160
2
어떤 것이 업데이트 된 건가요?
0
160
2





