사용자 도구

사이트 도구


springframework:cloud_gateway

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
springframework:cloud_gateway [2019/03/01 13:43]
kwon37xi
springframework:cloud_gateway [2020/02/18 11:58]
kwon37xi
줄 2: 줄 2:
   * [[https://spring.io/projects/spring-cloud-gateway|Spring Cloud Gateway]]   * [[https://spring.io/projects/spring-cloud-gateway|Spring Cloud Gateway]]
   * Spring Boot / WebFlux / Reactor 기반의 Non Blocking API Gateway.   * Spring Boot / WebFlux / Reactor 기반의 Non Blocking API Gateway.
-  * [[java:zuul|Zuul - Edge Service]] 에 대응+  * [[java:zuul|Zuul - Edge Service]] 에 대응. Java/Spring 기반 개발자들에게는 Spring Cloud Gateway 가 더 나아 보인다.
   * Java Code 기반 Routing 설정 가능   * Java Code 기반 Routing 설정 가능
  
줄 17: 줄 17:
 </code> </code>
   * PATH 앞에 떼어내기 ''localhost:8080/api/httpbin/get'' -> ''http://httpbin.org:80/get''<code java>   * PATH 앞에 떼어내기 ''localhost:8080/api/httpbin/get'' -> ''http://httpbin.org:80/get''<code java>
-route("httpbin", p -> p.path("/api/httpbin/**").filters(f -> f.stripPrefix(2)).uri(adCenterBaseUrl)) // '/api' - 1, '/httpbin' - 2 해서 2 path 건너뛰기+route("httpbin", p -> p.path("/api/httpbin/**") 
 +   .filters(f -> f.stripPrefix(2)) 
 + .uri("http://httpbin.org:80)) 
 +// '/api' - 1, '/httpbin' - 2 해서 2 path 건너뛰기 
 +</code> 
 +  * PATH Variable 정규표현식 ''localhost:8080/api/httpbin/get/123'' -> ''http://httpbin.org:80/get/123'', 단 ''/get/abc'' 는 거부됨<code java> 
 +route("httpbin", p -> p.path("/api/httpbin/get/{num:[0-9]+}"
 +   .filters(f -> f.stripPrefix(2)) 
 + .uri("http://httpbin.org:80)) 
 +</code> 
 +  * Path Rewrite : [[https://stackoverflow.com/questions/48632054/spring-cloud-gateway-2-0-forward-path-variable|java - Spring Cloud Gateway 2.0 forward path variable - Stack Overflow]]<code java> 
 + 
 +route("userById", t -> t.path("/users/**"
 +  .filters(rw -> rw.rewritePath("/users/(?<segment>.*)", "/users/${segment}")) 
 +  .uri("http://localhost:8080/users/")) 
 +</code> 
 + 
 +====== Actuator ====== 
 +''implementation 'org.springframework.boot:spring-boot-starter-actuator''' 의존성 추가
  
 +<code>
 +management.endpoint.gateway.enabled=true # default value
 +management.endpoints.web.exposure.include=gateway
 </code> </code>
  
 ===== 참조 ===== ===== 참조 =====
   * [[https://spring.io/guides/gs/gateway/|Getting Started · Building a Gateway]]   * [[https://spring.io/guides/gs/gateway/|Getting Started · Building a Gateway]]
 +  * [[https://github.com/spring-cloud-samples/spring-cloud-gateway-sample|Spring Cloud Gateway Sample]]
   * [[https://www.baeldung.com/spring-cloud-gateway|Exploring the New Spring Cloud Gateway | Baeldung]]   * [[https://www.baeldung.com/spring-cloud-gateway|Exploring the New Spring Cloud Gateway | Baeldung]]
   * [[https://aboullaite.me/spring-cloud-gateway/|A look into Spring Cloud Gateway!]]   * [[https://aboullaite.me/spring-cloud-gateway/|A look into Spring Cloud Gateway!]]
   * [[https://dzone.com/articles/spring-cloud-gateway-configuring-a-simple-route|Spring Cloud Gateway - Configuring a Simple Route - DZone Microservices]]   * [[https://dzone.com/articles/spring-cloud-gateway-configuring-a-simple-route|Spring Cloud Gateway - Configuring a Simple Route - DZone Microservices]]
 +  * [[https://springboot.cloud/26|Spring Cloud Gateway 2.1.0RELEASE 레퍼런스]]
 +  * [[https://www.baeldung.com/spring-cloud-gateway-routing-predicate-factories|Spring Cloud Gateway Routing Predicate Factories | Baeldung]]
springframework/cloud_gateway.txt · 마지막으로 수정됨: 2020/09/18 10:14 저자 kwon37xi