본문 바로가기

Spring boot49

Spring boot (글 수정 기능 비즈니스 로직 추가) 글 수정 기능에서 패스워드가 일치하면 수정이 가능하도록 비즈니스 로직 기능을 추가해 보았다. 기존의 글 수정 코드 String 으로 선언된 PutBoard를 ApiResponse로 고침 기존의 BoardService.java 수정후 BoardService.java putBoard메소드에서 boarPassword를 선언하고 if문을 써서 isBoardPasswordMisMatch에 반환값 지정. (비밀번호 검사를 했을때 일치 하지 않앗을경우 실패하였다는 AprResponse반환) result 값이 0보다 클 경우 성공하였다는 ApiREsponse 반환 그다음 밑에 isBoardPasswordMisMatch를 만든다. boolean을 써서 isMisMatch에서 받는값이 Password받는값과 boardPa.. 2021. 10. 12.
Spring boot (Board의 글 읽기 비즈니스 로직 추가) Board의 글 읽기를 할때 isDel값이 Y이면 지워진 글이라는 의미로 아래처럼 "board id is already deleeted"가 나오게 하도록 만들어 보려고 한다. 기존의 글읽기 위의 기존의 글읽기 로직에서 바뀐 모습이다. if문으로 isDeleteData가 Y값이면 아래의 ApiResponse를 반환하고 데이터는 가져오지 않는다. 그 다음 바로 밑에 isDeletedData메소드를 만든다. Board 테이블에서 IsDel의 값이 "Y" 인 것을 반환한다. BoardDTO에서 isDel컬럼을 선언하지 않았기 때문에 빨간 글씨로 뜬다. Board DTO.java private String isDel; 추가 다음 과정을 마친 후 DBeaver에서 board테이블의 isdel 값이 Y인 컬럼을 찾아.. 2021. 10. 8.
Spring boot ( 댓글 목록 불러오기) board의 id에 따른 댓글 목록 불러오기 처음에는 comment의 댓글 목록을 그냥 불러오는 코드를 작성하였으나 board의 id에 맞는 comment목록을 불러오는 코드로 바꿔서 만들어 보았다. 불러오기 때문에 getmapping으로 처리. board id에 따른 댓글목록 getCommentsByBoardId 매소드 만들고 commentServiced로 반환. 마찬가지로 ApiResponse로 받아와 성공적으로 실행이 되면 "success to get comments by board id" 을 보여줌 CommentDAO.java에서 comment의 list를 불러옴 List getCommentsByBoardId(int boardId); 쿼리문에서 board의 Id값에 따른 값이기 때문에 where절.. 2021. 10. 8.
Spring boot ( 글에 딸린 댓글 목록 불러오기) board의 id값을 넣었을때 글 뿐만아니라 comment까지 같이 불러 오려면 어떻게 해야 할까?? ex) BoardService.java에서 CommentDAO를 선언하며 불러와 준다. controller의 글 읽기 부분에서 아래의 사진에 표시한 64,65번째 줄을 보면 64: board data에서 밑에 CommentDTO의 List를 불러와 추가한 것을 볼 수 있다. (댓글의 id를 통한) 65: 63번째 줄의 가져온 Board 데이터에 Comment필드에 Comment list를 넣는다고 볼 수 있다. (set) board에서 보여줘야 하기 때문에 DTO에 가서 선언을 추가 해줘야한다. 이때 @AllArgsConstructor -> @RequiredArgsConstructor 로 바꾸는것을 유의.. 2021. 10. 7.
Spring boot (댓글기능 수정) board와 comment테이블은 서로 join이 되어있고 comment는 board의 댓글기능을 하기 때문에 board컨텐츠(id)가 겹치지 않게 comment(id)를 작성하면 오류가 난다. ( 즉 board의 글중 없는 id 값을 넣어 댓글을 쓰면 오류) comment의 id값이 board의 id값에 없는 값으로 작성을 하였을때 나오는 오류 결과를 위의 사진의 결과처럼 나오게 하려면 어떻게 해야할까? controller의 ApiResponse와 Service의 Api를 맞춰주어야 한다. selectedBoard의 값이 만약 null값이라면 실패. board의 없는 id값이기 때문에 댓글을 쓸 수 없다. 따라서 id value (id) is not exists in board 가 나오게 만들었다. 그.. 2021. 10. 6.
Spring boot (comment 쓰기) board에서 글쓰기 기능을 만들었던 것 처럼 Comment(댓글) 쓰기 기능을 만들어 보자. comment를 board처럼로 쓰기 comment테이블을 가져와 쓰기 기능을 만들때 크게 틀은 달라지지 않는다. BoardController를 참고하여 CommentController를 만들었다. 우선 어노테이션을 가져오는 것 부터 시작한다. CommentController.java package kr.ac.daegu.springbootapi.comment.controller; import kr.ac.daegu.springbootapi.comment.model.CommentDTO; import kr.ac.daegu.springbootapi.comment.service.CommentService; import .. 2021. 10. 6.
Spring booy (글 수정) 글 수정 @putmapping @pathvariable @RequestBody putBoard에서 id의 값으로 수정하기 위한 객체 생성 Service에서 보이는 주석들은 author, content, subject, writeDate,wrteTime을 수정하겠다는 의미인데, author, content, subject, password 는 postman의 Body부분에서 직접 수정을 할수 있도록 만들고 Id,WrtiteDate,WriteTime은 자동으로 나오도록 설정을 하였다. (id, 현재날짜, 현재시간이 나오도록. ) 결과인 result 선언 BoardDAO int postBoard(BoardDTO boardDTO); 를 추가 BoardMapper에서도 앞서말한 5개의 값들을 수정하도록 쿼리를 만.. 2021. 10. 1.
Spring boot (글 삭제) delete는 쿼리를 직접 날리지 않도록 설정하여 글 삭제를 만들어 보았다. 데이터를 mapper에 delete명령을 쓰지 않고 데이터 베이스에 'isDeleted'라는 컬럼을 추가해서 isDeleted의 값을 y로 업데이트 시켰다. 즉 지우는게 아니라 쉽게 말하여 모든 글의 목록에 isDeleted의 값은 N(NO)로 지정후 지우려는 값을 정하여 입력시 isDelete컬럼값을 Y로 바꾸어(update) Y인 값들을 안보이게 처리를 하는 것이다. (아예 날리는 것이 아님) ====> 우선 db로 가서 Board테이블에서 isDel이라는 컬럼을 추가시킴! 글 삭제를 위한 Controller구현 앞서 말하였듯 수정으로 글을 삭제한다는 것을 명시하기 위하여 'updateIsDelBoardById' 객체를 생성.. 2021. 10. 1.
Spring boot (글 읽기) 글 읽기 기능을 추가 하려면 어떻게 해야할까? 글 읽기를 위한 BoardController.Java 부분이다. getBoardByid라는 객체를 ApiResponse를 담아 id값을 넣으면 결과가 나올수 있도록 getBoardById를 반환하였다. Service에서도 success한다면 data를 불러 반환하도록 만들었다. 의외로 간단하다. BoardDAO.java에서 BoardDTO getBoardById(int id); 추가. 마지막으로 mapper.xml에서 id값을 getBoardById로 지정 후 값을 보여주어야 하기 때문에 resultType을 적고 다음의 쿼리를적어주면 끝난다. Postman에서 본 결과 board 테이블의 id값이 1번인 글 읽기 성공. 2021. 10. 1.