-
11 댓글 기능 구현(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 28. 18:23반응형
댓글 기능 구현(2)
⑤ 컨트롤러 작성 & 테스트
CommentController.java (List 메서드 생성)
>> @ResponseBody를 써서 views에 출력하지 않고
HTTP의 Body에 문자 내용을 직접 반환한다
결과 확인
MySQL
>> 각각의 테이블에 데이터를 넣었다
>> 데이터가 들어온걸 확인 할 수 있다 >> json으로 데이터가 들어왔다
- 예외가 발생한다면?
CommentServiceImpl.java
결과 확인
>> HTTP의 Body에는 아무것도 출력되지 않고, 응답헤더는 200번대가 출력된다
- 해결책 ResoponseEntity< >( )
CommentController.java
>> Entity는 응답이나 요청할 때, 전송할 대상을 Entity라고 한다
>> 원래는 Entity만 보냈는데 상태코드도 같이 보내준다
결과 확인
CommentController.java(remove 메서드 생성)
@Pathvar Integer cno → @DeleteMapping("/comments/{cno}")
>> @Pathvar의 integer cno의 값이 ("/comments/{cno}")의 cno값으로 전달된다
integer bno → @DeleteMapping("/comments/{cno}")
>> /comments?{cno}?bno=
결과 확인
>> @DeleteMapping이므로 HTTP의 body에서 확인하기 어려워 POSTMAN을 이용
MySQL
>> cno=18, bno=1을 삭제
POSTMAN
MySQL
>> 데이터가 삭제된 것을 확인할 수 있다
CommentController.java(write 메서드 생성)
>> @RequestBody를 사용해야 commentDto의 데이터를 받아을 수 있다
결과 확인
MySQL
>> bno=1의 값을 넣어 줄 것이다
POSTMAN
① URI를 입력 POST요청
② POST요청시, Headers의 타입과 형식을 넣어줘야한다
③ 타입(Content-Type)과 형식(application/json)을 입력한다
④ 입력할 데이터를 넣는다
⑤ send
⑥ 요청한 데이터의 상태와 메시지가 잘 되었는지 확인한다
MySQL
>> 데이터가 정상적으로 입력되었다
CommentController.java(Modify 메서드 생성)
>> 메서드를 작성하면서 에러가 발생했고 문제점은 어노테인션을 잊고 작성했다
>> 데이터를 받을 때 {cno}도 주의하면서 작성 할 것
결과 확인
POSTMAN
>> commenter는 임의로 넣어주었다
MySQL
>> comment의 내용이 수정되었다
※tip
각각의 메서드에 @ResponseBody가 붙어 있다
@ResponseBody를 컨트롤러에 붙이면 각가의 메서드들에 전부 적용된다
@Controller + @ResponseBody = @RestController
반응형'Spring > 03 MyBatis로 게시판 만들기' 카테고리의 다른 글
12 댓글 기능 구현(4) 쓰기,수정 버튼 만들기 (0) 2023.08.01 12 댓글 기능 구현(3) 출력, 삭제 버튼 만들기 (0) 2023.08.01 10 댓글 기능 구현(1) (0) 2023.07.27 09 REST_API와 Ajax (0) 2023.07.25 08 게시판 검색 기능 추가하기(2) (0) 2023.07.23