소스 검색

base clients

Daniel Garcia Costa 3 주 전
부모
커밋
c6df3d3601

+ 31 - 6
pom.xml

@@ -29,23 +29,48 @@
 	<properties>
 		<java.version>21</java.version>
 	</properties>
+
+	<dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>2025.1.0</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
 	<dependencies>
+		
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-webmvc</artifactId>
+			<artifactId>spring-boot-starter-webflux</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-loadbalancer</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-openfeign</artifactId>
 		</dependency>
 
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-devtools</artifactId>
-			<scope>runtime</scope>
-			<optional>true</optional>
+			<artifactId>spring-boot-starter-actuator</artifactId>
 		</dependency>
+
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-webmvc-test</artifactId>
-			<scope>test</scope>
+			<artifactId>spring-boot-devtools</artifactId>
+			<scope>runtime</scope>
+			<optional>true</optional>
 		</dependency>
+		
 	</dependencies>
 
 	<build>

+ 2 - 0
src/main/java/bidflow/auction/api/ApiApplication.java

@@ -2,8 +2,10 @@ package bidflow.auction.api;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 @SpringBootApplication
+@EnableFeignClients
 public class ApiApplication {
 
 	public static void main(String[] args) {

+ 5 - 0
src/main/java/bidflow/auction/api/clients/CatalogFeignClient.java

@@ -0,0 +1,5 @@
+package bidflow.auction.api.clients;
+
+public class CatalogFeignClient {
+    
+}

+ 33 - 0
src/main/java/bidflow/auction/api/dto/Item.java

@@ -0,0 +1,33 @@
+package bidflow.auction.api.dto;
+
+public class Item {
+    private String id;
+    private String name;
+    private Double startingPrice;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Double getStartingPrice() {
+        return startingPrice;
+    }
+
+    public void setStartingPrice(Double startingPrice) {
+        this.startingPrice = startingPrice;
+    }
+    
+}
+

+ 27 - 0
src/main/java/bidflow/auction/api/dto/ItemResponse.java

@@ -0,0 +1,27 @@
+package bidflow.auction.api.dto;
+
+import java.util.List;
+
+public class ItemResponse {
+    private Embedded _embedded;
+
+    public Embedded get_embedded() { 
+        return _embedded; 
+    }
+
+    public void set_embedded(Embedded _embedded) { 
+        this._embedded = _embedded; 
+    }
+
+    public static class Embedded {
+        private List<Item> items;
+
+        public List<Item> getItems() { 
+            return items; 
+        }
+
+        public void setItems(List<Item> items) { 
+            this.items = items; 
+        }
+    }
+}

+ 17 - 0
src/main/resources/META-INF/additional-spring-configuration-metadata.json

@@ -0,0 +1,17 @@
+{"properties": [
+    {
+        "name": "persistence.url",
+        "type": "java.lang.String",
+        "description": "URL para acceder al servicio de persistencia (bidflow.auction.persistence)"
+    },
+    {
+        "name": "users.url",
+        "type": "java.lang.String",
+        "description": "URL para acceder al servicio de usuarios (bidflow.users)"
+    },
+    {
+        "name": "catalog.url",
+        "type": "java.lang.String",
+        "description": "URL para acceder al servicio de catálogo (bidflow.auction.catalog)"
+    }
+]}

+ 6 - 0
src/main/resources/application.properties

@@ -1 +1,7 @@
 spring.application.name=api
+
+catalog.url=http://localhost:8082/api
+users.url=http://localhost:8083/api
+persistence.url=http://localhost:8081
+
+spring.cloud.discovery.enabled=false

+ 0 - 13
src/test/java/bidflow/auction/api/ApiApplicationTests.java

@@ -1,13 +0,0 @@
-package bidflow.auction.api;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class ApiApplicationTests {
-
-	@Test
-	void contextLoads() {
-	}
-
-}