본문 바로가기

Spring Boot/old

Spring 여러기능 추가 ~1007

1. 댓글 목록 불러오기

GetMapping을 통하여 PathVariables에 board의 id를 입력하면

id에 해당하는 commentList들을 모두 출력한다

 

 

 

 

 


2. 글에 딸린 목록 불러오기

 

2-1 Get/board/{id} 를 고쳐서 나타내기

 

모양이 이상하긴 하지만.. (사진 내림)

List를 하나 새로 만들어서 거기에 id에 따른 board값을 불러오는 getBoardById를 불러와서 우선 추가하고

(getBoardById 의 id, author, subject, content만 우선 들고왔다)

댓글 List를 들고와서 list에 추가했다

 

 

 

>>1007 드디어 성공적으로 원하는 모습으로 구현했다! 

답은..LinkedHashMap 으로 다음과 같은 형태로 나타냈다. (그냥HashMap은 순서대로 출력이 힘들었다)

처음에는 Mapper에서 resultMap으로 구현하려고 엄청 삽질을 했었는데 (결국 실패) DTO로 넘기면서 자꾸

오류가 생겨서 포기했었다. 

 

+ 수정된 코드

 

42 : Springboot (글과 댓글 함께 출력)

BoardDTO의 AllArgsConstructor -> RequiredArgsConstructor 로 수정 @AllArgsConstructor 클래스에 모든 필드에 대한 생성자를 자동으로 생성해준다. 단점 : 기존에 멤버 변수의 순서를 바꾼다면, 기존 생성자의..

dwc04112.tistory.com

 

 

 

2-2 글 읽기 비즈니스 로직 추가

isDel의 값이 Y면 위와같은 메시지를 출력하도록 if문을 사용하여 구현하였다

 

 

 

 


3. 댓글 쓰기

댓글을 달고자 하는 board의 id를 Body에서 넣고 insert하면 문구와 함께 해당 board의 id를 출력한다

Service에서 boardId를 받아와서 구현했다

 

 

 

3-2 없는 글이 들어왔을때?

service에서 입력한 id값을 받아 글이 있는지 없는지 판단하는 쿼리를 추가 (count를 사용해서 int로 다시 result)

그 후 count의 수에 따라 댓글을 쓸지 말지 결정한다

 

 


4. 글 수정 기능

정확한 비밀번호 "0555" 가 들어갔을때 success : true와 성공 메시지를 출력하고

 

다른 비밀번호 "0554" 가 들어갔을때 success : false와 실패 메시지를 출력한다.

 

 

 

 

 


5. 글 삭제 기능

 

다른 비밀번호를 입력했을때 다음 문구와 false 그리고 data는 null값을 반환한다

 

올바른 비밀번호를 입력하면 true, "success to delete board id : 해당 아이디" 를 출력한다

이제 7번의 isDel이 성공적으로 변경되었는지 확인해보자

7번의 isDel이 Y로 바뀐 것을 볼 수 있다!

 

 

 

 


6. 글 전체보기 수정 

isDel이 Y인 값들만 출력하기

리스트, 보기 부분도 수정해야한다. isDel = N 인 값들만 보거나 수정이 가능하게 만들어야하기 때문

 

※ 수정과 삭제 부분은 수정을 안해도 된다.

왜냐하면 리스트& 보기에서 비밀번호 비교값을 들고오는데 리스트& 보기에서 N인 값만 출력하기 때문에

 

 

1. id=8 에 해당하는 글 삭제하기

위 사진에서 id=8에 해당하는 글의 isDel이 Y가 된 것을 볼 수 있다.

 

 

2. 리스트를 출력

id=8번의 글을 다음list에서 찾을 수 없다

 

 

 

GitHub_

 

GitHub - dwc04112/SpringbootApi

Contribute to dwc04112/SpringbootApi development by creating an account on GitHub.

github.com

'Spring Boot > old' 카테고리의 다른 글

JPA로 쿼리작성 1 (삭제&리스트출력)  (0) 2021.10.26