msa : monolithic - regist reader

This commit is contained in:
haerong22
2021-07-29 14:54:04 +09:00
parent a653ad6f5d
commit fd8c21fd12
5 changed files with 99 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
package com.monolithicdemo.controller;
import com.monolithicdemo.model.form.RegisterReaderForm;
import com.monolithicdemo.service.ReaderService;
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("/reader")
@RequiredArgsConstructor
public class ReaderController {
private final ReaderService ReaderService;
@PostMapping("/")
public ResponseEntity<Long> registerReader(@RequestBody RegisterReaderForm registerReaderForm){
return ResponseEntity.ok(ReaderService.registerReader(registerReaderForm));
}
}

View File

@@ -0,0 +1,23 @@
package com.monolithicdemo.model.entity;
import lombok.*;
import javax.persistence.*;
import java.time.LocalDateTime;
@Setter
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table
@Entity
public class Reader {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long readerId;
private String name;
private LocalDateTime createdAt;
}

View File

@@ -0,0 +1,15 @@
package com.monolithicdemo.model.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
@ApiModel
public class RegisterReaderForm {
@ApiModelProperty(value = "작가의 이름", example = "홍길동")
private String name;
}

View File

@@ -0,0 +1,9 @@
package com.monolithicdemo.repository;
import com.monolithicdemo.model.entity.Reader;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ReaderRepository extends JpaRepository<Reader,Long> {
}

View File

@@ -0,0 +1,29 @@
package com.monolithicdemo.service;
import com.monolithicdemo.model.entity.Reader;
import com.monolithicdemo.model.form.RegisterReaderForm;
import com.monolithicdemo.repository.ReaderRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@Service
/**
* Reader에 대한 CRUD
*/
@RequiredArgsConstructor
public class ReaderService {
private final ReaderRepository ReaderRepository;
public Long registerReader(RegisterReaderForm registerReaderForm) {
return ReaderRepository.save(
Reader.builder()
.name(registerReaderForm.getName())
.createdAt(LocalDateTime.now()).build()
).getReaderId();
}
}