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(); + } +}