status=status.HTTP_201_CREATED

유정원·2024년 8월 29일

python

목록 보기
7/21

status=status.HTTP_201_CREATED는 Django REST Framework(DRF)에서 HTTP 응답의 상태 코드를 설정할 때 사용됩니다. 이 상태 코드는 클라이언트에게 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었음을 알리기 위해 사용됩니다.

HTTP 201 Created

  • 의미: HTTP 201 상태 코드는 서버가 요청을 성공적으로 처리했으며, 그 결과로 새로운 리소스가 생성되었음을 나타냅니다. 이는 주로 POST 요청이 성공적으로 완료된 후 사용됩니다.
  • 사용 사례: 새로운 사용자 계정 생성, 새로운 데이터베이스 레코드 삽입, 새로운 파일 업로드 등의 작업이 완료된 후에 클라이언트에게 리소스가 성공적으로 생성되었음을 알리는 데 사용됩니다.

예시 코드

아래는 DRF에서 status.HTTP_201_CREATED를 사용하는 예제입니다.

from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
from myapp.models import MyModel
from myapp.serializers import MyModelSerializer

class MyModelCreateView(APIView):
    def post(self, request):
        serializer = MyModelSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

동작 설명

  • POST 요청 처리: 클라이언트가 서버로 새로운 리소스를 생성하기 위한 POST 요청을 보낼 때, 서버는 요청 데이터를 시리얼라이저를 통해 검증하고 저장합니다.
  • 성공 응답: 데이터가 유효하고 성공적으로 저장된 경우, status=status.HTTP_201_CREATED와 함께 응답을 반환합니다. 이는 클라이언트에게 리소스가 성공적으로 생성되었음을 알립니다.
  • 오류 응답: 데이터가 유효하지 않은 경우, status=status.HTTP_400_BAD_REQUEST와 함께 오류 메시지를 반환합니다.

요약

  • status=status.HTTP_201_CREATED는 새 리소스가 성공적으로 생성되었음을 나타내는 HTTP 상태 코드입니다.
  • DRF에서 주로 POST 요청이 성공했을 때 이 상태 코드를 사용하여 클라이언트에게 적절한 응답을 제공합니다.
  • 이를 통해 클라이언트는 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었다는 것을 알 수 있습니다.

0개의 댓글