
@Service
@RequiredArgsConstructor
public class BoardService {
private final BoardRepository boardRepository;
public BoardEntity create(
BoardRequest boardRequest
){
var entity = BoardEntity.builder()
.userName(boardRequest.getUserName())
.title(boardRequest.getTitle())
.content(boardRequest.getContent())
.boardAt(LocalDateTime.now())
.status("REGISTERED")
.build()
;
return boardRepository.save(entity);
}
}
@RestController
@RequestMapping("/api/board")
@RequiredArgsConstructor
public class BoardApiController {
private final BoardService boardService;
@PostMapping("")
public BoardEntity create(
@Valid
@RequestBody BoardRequest boardRequest
){
return boardService.create(boardRequest);
}
}
테스트는 포스트맨을 사용하여 테스트를 진행함.
json형식으로 request부분을 전송
public class BoardRequest {
@NotBlank
private String userName;
@NotBlank
private String title;
@NotBlank
private String content;
}

@Service
@RequiredArgsConstructor
public class CommentService {
private final CommentRepository commentRepository;
public CommentEntity create(
CommentRequest commentRequest
){
// 주어진 boardId에 해당하는 BoardEntity를 찾음
var boardEntity = boardRepository.findById(commentRequest.getBoardId()).get();
// CommentEntity를 생성하고 저장
var entity = CommentEntity.builder()
.boardEntity(boardEntity)
.content(commentRequest.getContent())
.userName(commentRequest.getUserName())
.commentAt(LocalDateTime.now())
.status("REGISTERED")
.build()
;
return commentRepository.save(entity);
}
}
@RequiredArgsConstructor
@RestController
@RequestMapping("/api/comment")
@Slf4j
public class CommentApiController {
private final CommentService commentService;
@PostMapping("")
public CommentEntity create(
@Valid
@RequestBody CommentRequest commentRequest
){
// log.info(String.valueOf(commentRequest));
return commentService.create(commentRequest);
}
}

