
어제 댓글 조회 및 등록 기능을 구현해주었다.
추가로 CommentSerializer를 사용하여 댓글 수정 및 삭제 기능을 목표로 구현해주고자 하였다.
댓글 수정 및 삭제 기능을 구현해준 뒤 DB에 저장된 테스트용 데이터를 가지고 원활하게 작동되는지 확인해주었다.

우선 댓글 수정 기능을 먼저 확인해보도록 했다.
# comment/views.py
class CommentView(APIView):
~
# 댓글 수정 : /comment/<comment_id>
def put(self, request, comment_id):
comment = Comment.objects.get(id=comment_id)
# 부분 업데이트 시 partial=True 사용
comment_serializer = CommentSerializer(comment, data=request.data, partial=True)
if comment_serializer.is_valid():
comment_serializer.save()
return Response({"message": "댓글 수정 성공"}, status=status.HTTP_200_OK)
return Response({"error": "댓글 수정 실패"}, status=status.HTTP_400_BAD_REQUEST)
댓글 수정 API를 구현해준 뒤 Postman을 통해 해당 API 통신이 잘 이뤄지는지 확인을 해주었다.

Postman에서 API 통신이 원활하게 잘 작동되는 것을 볼 수 있었다.
이제 DB에서 해당 데이터가 바뀌었는지 확인해주었다.

id가 10인 데이터의 comment와 rating이 바꾸고자 한 값으로 바뀐 것을 볼 수 있었다.
이제 댓글 삭제 기능 구현을 위해 API 코드를 적어주었다.
# comment/views.py
class CommentView(APIView):
~
# 댓글 삭제 : /comment/<comment_id>
def delete(self, request, comment_id):
comment = Comment.objects.get(id=comment_id)
comment.delete()
return Response({"message": "댓글 삭제 성공"}, status=status.HTTP_200_OK)
댓글 삭제 기능 API 통신이 잘 되는지 Postman으로 확인을 해보았다.

댓글 삭제 API 통신이 잘 되는 것을 볼 수 있었다.
이제 댓글 삭제를 통해 id가 10번인 테스트용 댓글이 잘 삭제되었는지 DB에서 확인을 해보았다.

이후 프로젝트 진행 상황을 팀 프로젝트 Notion 페이지에 업데이트해주었고, 프로젝트 Github에서 코드를 올리고 PR을 해주었다.

-
댓글에 대한 API 구현을 끝마쳤다.
댓글 조회/등록/수정/삭제 총 4가지 기능을 구현해주는 것을 마치고, 다음으로는 좋아요 관련 API를 만들어보고자 한다.
:D
'TIL 및 WIL > TIL (Today I Learned)' 카테고리의 다른 글
| [TIL] 2022.07.19 (MLT API 구현, My Little Trip(7)) (0) | 2022.07.19 |
|---|---|
| [TIL] 2022.07.18 (MLT API 구현, My Little Trip(6)) (0) | 2022.07.18 |
| [TIL] 2022.07.14 (MLT API 구현, My Little Trip(4)) (0) | 2022.07.14 |
| [TIL] 2022.07.13 (MLT API 구현, My Little Trip(3)) (0) | 2022.07.13 |
| [TIL] 2022.07.12 (Docker, 도커(2)) (0) | 2022.07.12 |