본문 바로가기

Spring Boot/Spring Boot

61 : 답글 깊이 제한 (SpringbootApi + JPA)

1. 답글의 깊이를 3으로 제한 (11-06)


    @PostMapping(value = "/reply")
    public ApiResponse<BoardDTO> postBoardReplyContent(@RequestBody BoardDTO boardDTO){
        if(boardDTO.getDepth()>2){
            return new ApiResponse<>(false,"The maximum value cannot exceed 3", null);
        }
        return boardJpaService.postReply(boardDTO);
    }

 

Comment에 깊이제한을 둬서 통과하지 못하면 Service로 넘어가지 못한다

자동으로 id값 을 할당하는 @GenerateValue 를 제거하고, 저번에 설정한 DB의 maxId + 1 로

id값을 지정했다(아래 코드). DB에서 삭제해도 id값이 순서대로 오른다

 

    private int getNewBoardIdValue(BoardRepository boardRepository) {
        int result;
        Board boardOfMaxId = boardRepository.findTopByOrderByIdDesc();
        if(boardOfMaxId == null) {
            result = 1;
            log.debug("no board data, maxId is 1");
        } else {
            result = boardOfMaxId.getId() + 1;
            log.debug("maxIdFromBoard="+boardOfMaxId.getId());
        }
        log.debug("newBoardIdValue="+result);
        return result;
    }