1
1
package com .nipundas .api_gateway .routes ;
2
2
3
+ import org .springframework .beans .factory .annotation .Value ;
3
4
import org .springframework .cloud .gateway .server .mvc .filter .CircuitBreakerFilterFunctions ;
4
5
import org .springframework .cloud .gateway .server .mvc .handler .GatewayRouterFunctions ;
5
6
import org .springframework .cloud .gateway .server .mvc .handler .HandlerFunctions ;
20
21
@ Configuration
21
22
public class Routes {
22
23
24
+ @ Value ("${product.service.url}" )
25
+ private String productServiceUrl ;
26
+
27
+ @ Value ("${order.service.url}" )
28
+ private String orderServiceUrl ;
29
+
30
+ @ Value ("${inventory.service.url}" )
31
+ private String inventoryServiceUrl ;
32
+
33
+
23
34
@ Bean
24
35
public RouterFunction <ServerResponse > productServiceRoute (){
25
36
return route ("product_service" )
26
37
.route (RequestPredicates .path ("/api/product" ),
27
- HandlerFunctions .http ("http://localhost:8080" ))
38
+ HandlerFunctions .http (productServiceUrl ))
28
39
.filter (CircuitBreakerFilterFunctions .circuitBreaker ("productServiceCircuitBreaker" ,
29
40
URI .create ("forward:/fallbackRoute" )))
30
41
.build ();
@@ -34,7 +45,7 @@ public RouterFunction<ServerResponse> productServiceRoute(){
34
45
public RouterFunction <ServerResponse > productServiceSwaggerRoute (){
35
46
return route ("product_service_swagger" )
36
47
.route (RequestPredicates .path ("/aggregate/product-service/v3/api-docs" ),
37
- HandlerFunctions .http ("http://localhost:8080" ))
48
+ HandlerFunctions .http (productServiceUrl ))
38
49
.filter (CircuitBreakerFilterFunctions .circuitBreaker ("productServiceSwaggerCircuitBreaker" ,
39
50
URI .create ("forward:/fallbackRoute" )))
40
51
.filter (setPath ("/api-docs" ))
@@ -45,7 +56,7 @@ public RouterFunction<ServerResponse> productServiceSwaggerRoute(){
45
56
public RouterFunction <ServerResponse > orderServiceRoute (){
46
57
return route ("order_service" )
47
58
.route (RequestPredicates .path ("/api/order" ),
48
- HandlerFunctions .http ("http://localhost:8081" ))
59
+ HandlerFunctions .http (orderServiceUrl ))
49
60
.filter (CircuitBreakerFilterFunctions .circuitBreaker ("orderServiceCircuitBreaker" ,
50
61
URI .create ("forward:/fallbackRoute" )))
51
62
.build ();
@@ -55,7 +66,7 @@ public RouterFunction<ServerResponse> orderServiceRoute(){
55
66
public RouterFunction <ServerResponse > orderServiceSwaggerRoute (){
56
67
return route ("order_service_swagger" )
57
68
.route (RequestPredicates .path ("/aggregate/order-service/v3/api-docs" ),
58
- HandlerFunctions .http ("http://localhost:8081" ))
69
+ HandlerFunctions .http (orderServiceUrl ))
59
70
.filter (CircuitBreakerFilterFunctions .circuitBreaker ("orderServiceSwaggerCircuitBreaker" ,
60
71
URI .create ("forward:/fallbackRoute" )))
61
72
.filter (setPath ("/api-docs" ))
@@ -66,7 +77,7 @@ public RouterFunction<ServerResponse> orderServiceSwaggerRoute(){
66
77
public RouterFunction <ServerResponse > inventoryServiceRoute (){
67
78
return route ("inventory_service" )
68
79
.route (RequestPredicates .path ("/api/inventory" ),
69
- HandlerFunctions .http ("http://localhost:8082" ))
80
+ HandlerFunctions .http (inventoryServiceUrl ))
70
81
.filter (CircuitBreakerFilterFunctions .circuitBreaker ("inventoryServiceCircuitBreaker" ,
71
82
URI .create ("forward:/fallbackRoute" )))
72
83
.build ();
@@ -76,7 +87,7 @@ public RouterFunction<ServerResponse> inventoryServiceRoute(){
76
87
public RouterFunction <ServerResponse > inventoryServiceSwaggerRoute (){
77
88
return route ("inventory_service_swagger" )
78
89
.route (RequestPredicates .path ("/aggregate/inventory-service/v3/api-docs" ),
79
- HandlerFunctions .http ("http://localhost:8082" ))
90
+ HandlerFunctions .http (inventoryServiceUrl ))
80
91
.filter (CircuitBreakerFilterFunctions .circuitBreaker ("inventoryServiceSwaggerCircuitBreaker" ,
81
92
URI .create ("forward:/fallbackRoute" )))
82
93
.filter (setPath ("/api-docs" ))
0 commit comments