Commit 7ba895fe authored by Kyle Muldoon's avatar Kyle Muldoon

Merge branch 'application-url-config' into 'Dev'

Application url config

See merge request !23
parents ff68d617 f51e106c
package com.nisum.ecomservice.config;
public class AppConfig {
private static final String orderManagementUrl = "http://localhost:8084";
private static final String productsManagementUrl = "http://localhost:8083";
private static final String promoManagementUrl = "http://localhost:8082";
public static String getOrderManagementUrl() {
return orderManagementUrl;
}
public static String getProductsManagementUrl() {
return productsManagementUrl;
}
public static String getPromoManagementUrl() {
return promoManagementUrl;
}
}
package com.nisum.ecomservice.service;
import com.nisum.ecomservice.config.AppConfig;
import com.nisum.ecomservice.dto.*;
import com.nisum.ecomservice.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
......@@ -20,6 +19,8 @@ public class OrderService {
@Autowired
ProductService productService;
@Value("${orders.apiUrl}")
private String orderManagementUrl;
public Mono<Order> postOrder(OrderRequest orderRequest) {
......@@ -93,7 +94,7 @@ public class OrderService {
}
public Mono<Order> postOrderToAPI(OrderSubmission orderSubmission){
return WebClient.create(String.format("%s/api/orders", AppConfig.getOrderManagementUrl()))
return WebClient.create(String.format("%s/api/orders", orderManagementUrl))
.post()
.bodyValue(orderSubmission)
.retrieve()
......@@ -101,7 +102,7 @@ public class OrderService {
}
public Flux<Order> getOrderFromOmsAPI(String userId){
return WebClient.create(String.format("%s/api/orders/byCustomer/%s", AppConfig.getOrderManagementUrl(),userId))
return WebClient.create(String.format("%s/api/orders/byCustomer/%s", orderManagementUrl,userId))
.get()
.retrieve()
.bodyToFlux(Order.class);
......
package com.nisum.ecomservice.service;
import com.nisum.ecomservice.config.AppConfig;
import com.nisum.ecomservice.model.Product;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
......@@ -13,8 +13,15 @@ import java.util.List;
@Service
public class ProductService {
@Value("${products.apiUrl}")
private String productsManagementUrl;
@Value("${promos.apiUrl}")
private String promoManagementUrl;
public Mono<Product> getProductBySku(String sku){
return WebClient.create(String.format("%s/api/products/%s", AppConfig.getProductsManagementUrl(),sku))
return WebClient.create(String.format("%s/api/products/%s", productsManagementUrl,sku))
.get()
.retrieve()
.bodyToMono(Product.class);
......@@ -23,7 +30,7 @@ public class ProductService {
public Flux<Product> getAllProducts() {
return WebClient
.builder()
.baseUrl(AppConfig.getProductsManagementUrl())
.baseUrl(productsManagementUrl)
.build()
.get()
.uri("/api/products")
......@@ -34,7 +41,7 @@ public class ProductService {
public Flux<Promotion> getAllPromotions() {
return WebClient
.builder()
.baseUrl(AppConfig.getPromoManagementUrl())
.baseUrl(promoManagementUrl)
.build()
.get()
.uri("/api/promos")
......@@ -43,7 +50,7 @@ public class ProductService {
}
public Flux<Promotion> getPromotionBySkus(List<String> listOfSkus){
return WebClient.create(String.format("%s/api/promos/bulkSearch",AppConfig.getPromoManagementUrl()))
return WebClient.create(String.format("%s/api/promos/bulkSearch",promoManagementUrl))
.post()
.bodyValue(listOfSkus)
.retrieve()
......
spring.data.mongodb.database=e-commerce-db
security.enable-csrf=false
server.port=8080
products.apiUrl=http://localhost:8083
promos.apiUrl=http://localhost:8082
orders.apiUrl=http://localhost:8084
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment