프로그래밍

[DRF] status 본문

Python/Django REST Framework

[DRF] status

시케 2023. 11. 29. 10:16
728x90
반응형

2023.11.29.수

status

장고에서 status는 HTTP 응답 상태 코드를 나타내는데 사용되는 모듈이다

'django.http' 모듈에 포함되어 있으며 각 상태 코드는 'HttpResponse' 객체를 생성할 때 사용된다

 

HTTP 상태 코드(status)는 서버에소 클라이언트의 요청과 응답에 대한 성공, 실패, 등 다양한 상태를 전달하는데 사용된다

 

상태 코드 반환

from django.http import HttpResponse
from django.http import HttpResponseBadRequest
from django.http import HttpResponseNotFound

def my_view(request):
    # HTTP 200 OK
    return HttpResponse("Success", status=HTTP_200_OK)

def bad_request_view(request):
    # HTTP 400 Bad Request
    return HttpResponseBadRequest("Bad Request", status=400)

def not_found_view(request):
    # HTTP 404 Not Found
    return HttpResponseNotFound("Not Found")

HTTP 상태를 반환하는 예시 코드이다

 

상수를 활용하여 지정하면 코드의 가독성이 높아지며  오타나 잘못된 상태 코드 사용을 막을 수 있다

> 직관적으로 어떤 상태인지 알 수 있음

 

단순 숫자로 지정하거나 문자열로 보낼 경우 가독성이 떨어지고 상태 코드의 의도에 대한 의도가 떨어질 수 있기 때문에 상수를 활용한 방식이 추천된다

 

HTTP_200_OK = 200 #요청이 성공적으로 처리

HTTP_201_CREATED = 201 # 리소스의 생성 요청이 성공적으로 처리, 새로운 리소스 생성

HTTP_204_NO_CONTENT = 204 # 요청은 성공적이었지만 응답 본문에는 어떠한 데이터도 포함되어 있지 않음

HTTP_400_BAD_REQUEST = 400 # 클라이언트의 요청이 부적절하거나 잘못됨

HTTP_401_UNAUTHORIZED = 401 # 클라이언트가 인증되지 않았거나 인증이 실패

HTTP_403_FORBIDDEN = 403 # 클라이언트가 요청한 리소스에 대한 액세스 권한이 없음

HTTP_404_NOT_FOUND = 404 # 요청한 리소스를 찾을 수 없음

HTTP_500_INTERNAL_SERVER_ERROR = 500 #서버 측에서 오류가 발생하여 요청을 처리할 수 없음

 

자주 쓰이는 HTTP 상태 코드이다

 

더보기
728x90
반응형

'Python > Django REST Framework' 카테고리의 다른 글

[DRF] Response  (0) 2023.11.29
[DRF] APIView와 api_view  (1) 2023.11.29
[DRF] Serialize(직렬화)  (1) 2023.11.28
[DRF] 페이지네이션(Pagination)  (2) 2023.11.28
[DRF] Django REST Framework  (0) 2023.11.28
Comments