Django(DRF)
Create
@extend_schema(
tags=["태그 이름"], summary= "간단 소개", request=시리얼라이저이름
)
def post(self, request: Request):
serializer = 시리얼라이저이름(data=request.data)
serializer.is_valid(raise_exception=True)
user = cast(User, request.user)
변수명 = 서비스_이름(author=user, validated_data=serializer.validated_data)
return Response(
{"id": 변수명.id, "message": "성공적으로 등록되었습니다."},
status=status.HTTP_201_CREATED,
)
List
view
user = cast(User, request.user)
@extend_schema(tags=["태그 이름"], summary="간단 소개")
def get(self, request: Request):
변수명 = 서비스_이름()
paginator = self.pagination_class()
page = paginator.paginate_queryset(변수명, request, view=self)
if page is not None:
serializer = 시리얼라이저이름(page, many=True)
return paginator.get_paginated_response(serializer.data)
return Response(시리얼라이저이름(변수명, many=True).data)
@extend_schema(tags=["태그 이름"], summary="간단 소개")
def get(self, request: Request, something_id: int):
변수명 = 서비스_이름(something_id)
if not post:
raise BaseCustomException(ErrorMessage.POST_NOT_FOUND)
return Response(시리얼라이저이름(변수명).data)
Update
@extend_schema(tags=["태그 이름"], summary="간단 소개", request=시리얼라이저이름)
def put(self, request: Request, something_id: int):
serializer = PostCreateSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = cast(User, request.user)
변수명 = 서비스_이름(
something_id=something_id, user=user, validated_data=serializer.validated_data
)
return Response(
시리얼라이저이름(서비스_이름().data, status=status.HTTP_200_OK
)
Patch
Delete
@extend_schema(tags=["태그 이름"], summary="간단 소개")
def delete(self, request: Request, post_id: int):
user = cast(User, request.user)
서비스_이름(something_id=something_id, user=user)
return Response(status=status.HTTP_204_NO_CONTENT)