From cfaa8fb5d675d551d27d9b3916f1325ba5af7366 Mon Sep 17 00:00:00 2001
From: Laurine <lenetlaurine@gmail.com>
Date: Wed, 4 Oct 2023 18:47:11 +0200
Subject: [PATCH] 7-1 first methods controller

---
 .../com/example/livecodingjavaspring/App.java |  3 +-
 .../com/example/livecodingjavaspring/Cli.java | 63 -------------------
 .../example/livecodingjavaspring/User.java    | 12 +---
 .../example/livecodingjavaspring/UserDao.java |  2 +-
 .../UserLibraryController.java                | 26 ++++++++
 5 files changed, 31 insertions(+), 75 deletions(-)
 delete mode 100644 src/main/java/com/example/livecodingjavaspring/Cli.java
 create mode 100644 src/main/java/com/example/livecodingjavaspring/UserLibraryController.java

diff --git a/src/main/java/com/example/livecodingjavaspring/App.java b/src/main/java/com/example/livecodingjavaspring/App.java
index 387190c..7969c29 100644
--- a/src/main/java/com/example/livecodingjavaspring/App.java
+++ b/src/main/java/com/example/livecodingjavaspring/App.java
@@ -1,6 +1,5 @@
 package com.example.livecodingjavaspring;
 
-import org.springframework.boot.WebApplicationType;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.builder.SpringApplicationBuilder;
@@ -8,6 +7,6 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
 @SpringBootApplication(exclude={ DataSourceAutoConfiguration.class })
 public class App {
     public static void main(String[] args) {
-        new SpringApplicationBuilder(App.class).web(WebApplicationType.NONE).run(args);
+        new SpringApplicationBuilder(App.class).run(args);
     }
 }
diff --git a/src/main/java/com/example/livecodingjavaspring/Cli.java b/src/main/java/com/example/livecodingjavaspring/Cli.java
deleted file mode 100644
index 4e6e4ea..0000000
--- a/src/main/java/com/example/livecodingjavaspring/Cli.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.example.livecodingjavaspring;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Scanner;
-@Component
-@RequiredArgsConstructor
-public class Cli implements CommandLineRunner {
-    private List<User> users;
-    private final UserDao userDao;
-
-    @Override
-    public void run(String... args) {
-        users = userDao.createDatabase();
-        int choice = -1;
-        while (choice != 0) {
-            Scanner scanner = new Scanner(System.in);
-            printWelcome();
-            choice = scanner.nextInt();
-            switch (choice) {
-                case 1 -> printUsers(users);
-                case 2 -> addUser(scanner);
-                case 0 -> exitCli();
-                default -> incorrectInput();
-            }
-        }
-    }
-
-    private void printWelcome() {
-        System.out.println("Hello jeune Peufien ! dans ma super CLI");
-        System.out.println("Que veux-tu faire ?");
-        System.out.println("1- Lister les utilisateurs");
-        System.out.println("2- Ajouter un utilisateur");
-        System.out.println("0- Quitter l'application");
-    }
-
-    private void printUsers(List<User> users) {
-        users.forEach(System.out::println);
-    }
-
-    private void addUser(Scanner scanner) {
-        System.out.println("Prénom de l'utilisateur");
-        String firstname = scanner.next();
-        System.out.println("Nom de l'utilisateur");
-        String lastname = scanner.next();
-        System.out.println("Age de l'utilisateur");
-        String age = scanner.next();
-        users.add(new User(firstname, lastname, Integer.valueOf(age)));
-        users.forEach(System.out::println);
-    }
-
-    private void incorrectInput() {
-        System.out.println("Mauvaise commande");
-    }
-
-    private void exitCli() {
-        System.exit(0);
-    }
-
-}
diff --git a/src/main/java/com/example/livecodingjavaspring/User.java b/src/main/java/com/example/livecodingjavaspring/User.java
index 7ef600a..6d101f4 100644
--- a/src/main/java/com/example/livecodingjavaspring/User.java
+++ b/src/main/java/com/example/livecodingjavaspring/User.java
@@ -1,5 +1,8 @@
 package com.example.livecodingjavaspring;
 
+import lombok.Data;
+
+@Data
 public class User {
     private String firstName;
     private String lastName;
@@ -10,13 +13,4 @@ public class User {
         this.lastName = lastName;
         this.age = age;
     }
-
-    @Override
-    public String toString() {
-        return "User{" +
-                "firstName='" + firstName + '\'' +
-                ", lastName='" + lastName + '\'' +
-                ", age=" + age +
-                '}';
-    }
 }
diff --git a/src/main/java/com/example/livecodingjavaspring/UserDao.java b/src/main/java/com/example/livecodingjavaspring/UserDao.java
index 6a24db2..61e3e08 100644
--- a/src/main/java/com/example/livecodingjavaspring/UserDao.java
+++ b/src/main/java/com/example/livecodingjavaspring/UserDao.java
@@ -7,7 +7,7 @@ import java.util.List;
 @Service
 public class UserDao {
 
-    public List<User> createDatabase() {
+    public List<User> getUsers() {
         List<User> users = new ArrayList<>();
         users.add(new User("Laurine", "LE NET", 22));
         users.add(new User("Pilou", "BERTRAND", 24));
diff --git a/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java b/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java
new file mode 100644
index 0000000..32d68dc
--- /dev/null
+++ b/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java
@@ -0,0 +1,26 @@
+package com.example.livecodingjavaspring;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("users")
+@RequiredArgsConstructor
+public class UserLibraryController {
+    private final UserDao userDao;
+    @GetMapping("helloWord")
+    public String helloWord(@RequestParam String name) {
+        return "Coucou " + name + " ! Tu vas bien ?";
+    }
+
+    @GetMapping("")
+    public List<User> getUsers() {
+        return userDao.getUsers();
+    }
+
+}
-- 
GitLab