# 어제 무엇을 했나요?
- 1. "좋아요" 기능 구현 (post / delete)
- 2. 리뷰 수정api 구현
- 3. 프로젝트 스웨거 세팅 수정 (기획서와 현재 구현된 기능 전부 사용 가능하도록)
# 오늘은 무엇을 할 것인가요?
- 1. 어제 멘토님이 언급하신 부분 수정
- 2. 리뷰 삭제 api 구현
- 3. 파이썬 강의 찾아보기
- 4. 현재 작성한 테스트코드를 Given When Then 으로 분리하기
# 진행하는데 어려운 부분(도움이 필요한 부분)이 있나요?
- 1. 어제 멘토링 내용대로 파이썬 / 장고 강의 찾기
- 2. 백준 다시 공부하기
오늘 학습 내용 ✅
의문
- 어제 리뷰 수정 api를 작성하는 동안 생각하지 못했던 내용
- 어차피 등록과 수정의 필드가 동일한데 굳이 update시리얼라이저를 만들 필요있는가?
- 여태동안 각 api마다 service / serializer은 각각 1개씩은 필수적이라 생각했는데
- 생각을 하지않고 여태 코드를 작성해서 그런것 같다.
- 좀더 고민을 하고 코드를 짜는 습관이 필요할 것 같다.
def patch(self, request, review_id):
self.validation_error_message = "유효하지 않은 수정 요청입니다."
serializer = ReviewUpdateSerializer(data=request.data, partial=True)
serializer.is_valid(raise_exception=True)
class ReviewUpdateAPIView(APIView):
permission_classes = [IsAuthenticated]
validation_error_message = "이 필드는 필수 항목입니다."
@extend_schema(
tags=["리뷰"],
summary="리뷰 수정 API",
request=ReviewCreateSerializer,
responses=ReviewCreateSerializer,
)
def patch(self, request, review_id):
self.validation_error_message = "유효하지 않은 수정 요청입니다."
serializer = ReviewCreateSerializer(data=request.data, partial=True)
serializer.is_valid(raise_exception=True)
user = cast(User, request.user)
review = update_review(
user=user,
review_id=review_id,
validated_data=serializer.validated_data,
)
return Response(
ReviewCreateSerializer(review).data,
status=status.HTTP_200_OK,
)
수정사항
스웨거 수정
지금 구현된 기능별로 전체 수정
extend_schema 주요 파라미터

API 명세 수정

스웨거 수정
- 오류메세지도 상세하게 기록

새롭게 알게된 내용 ✅
오늘 발생한 문제(발생 했다면) ✅