From 72bc12382228e43d6d561f7285d5ecd4b85e5926 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Thu, 29 Jul 2021 14:21:53 +0900 Subject: [PATCH] msa : monolithic - regist writer --- .../build.gradle | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 .../{monoloticdemo => monolithicdemo}/gradlew | 0 .../gradlew.bat | 0 .../settings.gradle | 0 .../com/monolithicdemo}/DemoApplication.java | 2 +- .../controller/WriterController.java | 23 ++++++++++++++ .../monolithicdemo/model/entity/Writer.java | 23 ++++++++++++++ .../model/form/RegisterWriterForm.java | 13 ++++++++ .../repository/WriterRepository.java | 9 ++++++ .../monolithicdemo/service/WriterService.java | 28 ++++++++++++++++++ 12 files changed, 97 insertions(+), 1 deletion(-) rename msa_practice/{monoloticdemo => monolithicdemo}/build.gradle (100%) rename msa_practice/{monoloticdemo => monolithicdemo}/gradle/wrapper/gradle-wrapper.jar (100%) rename msa_practice/{monoloticdemo => monolithicdemo}/gradle/wrapper/gradle-wrapper.properties (100%) rename msa_practice/{monoloticdemo => monolithicdemo}/gradlew (100%) rename msa_practice/{monoloticdemo => monolithicdemo}/gradlew.bat (100%) rename msa_practice/{monoloticdemo => monolithicdemo}/settings.gradle (100%) rename msa_practice/{monoloticdemo/src/main/java/com/monoloticdemo => monolithicdemo/src/main/java/com/monolithicdemo}/DemoApplication.java (94%) create mode 100644 msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/controller/WriterController.java create mode 100644 msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/entity/Writer.java create mode 100644 msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/form/RegisterWriterForm.java create mode 100644 msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/repository/WriterRepository.java create mode 100644 msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/service/WriterService.java diff --git a/msa_practice/monoloticdemo/build.gradle b/msa_practice/monolithicdemo/build.gradle similarity index 100% rename from msa_practice/monoloticdemo/build.gradle rename to msa_practice/monolithicdemo/build.gradle diff --git a/msa_practice/monoloticdemo/gradle/wrapper/gradle-wrapper.jar b/msa_practice/monolithicdemo/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from msa_practice/monoloticdemo/gradle/wrapper/gradle-wrapper.jar rename to msa_practice/monolithicdemo/gradle/wrapper/gradle-wrapper.jar diff --git a/msa_practice/monoloticdemo/gradle/wrapper/gradle-wrapper.properties b/msa_practice/monolithicdemo/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from msa_practice/monoloticdemo/gradle/wrapper/gradle-wrapper.properties rename to msa_practice/monolithicdemo/gradle/wrapper/gradle-wrapper.properties diff --git a/msa_practice/monoloticdemo/gradlew b/msa_practice/monolithicdemo/gradlew similarity index 100% rename from msa_practice/monoloticdemo/gradlew rename to msa_practice/monolithicdemo/gradlew diff --git a/msa_practice/monoloticdemo/gradlew.bat b/msa_practice/monolithicdemo/gradlew.bat similarity index 100% rename from msa_practice/monoloticdemo/gradlew.bat rename to msa_practice/monolithicdemo/gradlew.bat diff --git a/msa_practice/monoloticdemo/settings.gradle b/msa_practice/monolithicdemo/settings.gradle similarity index 100% rename from msa_practice/monoloticdemo/settings.gradle rename to msa_practice/monolithicdemo/settings.gradle diff --git a/msa_practice/monoloticdemo/src/main/java/com/monoloticdemo/DemoApplication.java b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/DemoApplication.java similarity index 94% rename from msa_practice/monoloticdemo/src/main/java/com/monoloticdemo/DemoApplication.java rename to msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/DemoApplication.java index 729b0beb..aff30af5 100644 --- a/msa_practice/monoloticdemo/src/main/java/com/monoloticdemo/DemoApplication.java +++ b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/DemoApplication.java @@ -1,4 +1,4 @@ -package com.monoloticdemo; +package com.monolithicdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/controller/WriterController.java b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/controller/WriterController.java new file mode 100644 index 00000000..95901683 --- /dev/null +++ b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/controller/WriterController.java @@ -0,0 +1,23 @@ +package com.monolithicdemo.controller; + +import com.monolithicdemo.model.form.RegisterWriterForm; +import com.monolithicdemo.service.WriterService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/writer") +@RequiredArgsConstructor +public class WriterController { + + private final WriterService writerService; + + @PostMapping("/") + public ResponseEntity registerWriter(@RequestBody RegisterWriterForm registerWriterForm) { + return ResponseEntity.ok().body(writerService.registerWriter(registerWriterForm)); + } +} diff --git a/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/entity/Writer.java b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/entity/Writer.java new file mode 100644 index 00000000..010cf5ab --- /dev/null +++ b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/entity/Writer.java @@ -0,0 +1,23 @@ +package com.monolithicdemo.model.entity; + +import lombok.*; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Getter +@Setter +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table +@Entity +public class Writer { + + @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) + private Long id; + + private String name; + + private LocalDateTime createdAt; +} diff --git a/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/form/RegisterWriterForm.java b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/form/RegisterWriterForm.java new file mode 100644 index 00000000..e0070cf0 --- /dev/null +++ b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/model/form/RegisterWriterForm.java @@ -0,0 +1,13 @@ +package com.monolithicdemo.model.form; + +import io.swagger.annotations.ApiParam; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class RegisterWriterForm { + + @ApiParam(value = "작가의 이름", example = "홍길동", defaultValue = "홍길동") + private String name; +} diff --git a/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/repository/WriterRepository.java b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/repository/WriterRepository.java new file mode 100644 index 00000000..2be27909 --- /dev/null +++ b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/repository/WriterRepository.java @@ -0,0 +1,9 @@ +package com.monolithicdemo.repository; + +import com.monolithicdemo.model.entity.Writer; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface WriterRepository extends JpaRepository { +} diff --git a/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/service/WriterService.java b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/service/WriterService.java new file mode 100644 index 00000000..6e4189b2 --- /dev/null +++ b/msa_practice/monolithicdemo/src/main/java/com/monolithicdemo/service/WriterService.java @@ -0,0 +1,28 @@ +package com.monolithicdemo.service; + +import com.monolithicdemo.model.entity.Writer; +import com.monolithicdemo.model.form.RegisterWriterForm; +import com.monolithicdemo.repository.WriterRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; + +/** + * writer 에 대한 CRUD + */ +@Service +@RequiredArgsConstructor +public class WriterService { + + private final WriterRepository writerRepository; + + public Long registerWriter(RegisterWriterForm registerWriterForm) { + + return writerRepository.save( + Writer.builder() + .name(registerWriterForm.getName()) + .createdAt(LocalDateTime.now()).build() + ).getId(); + } +}