반응형
https://edder773.tistory.com/213
설정은 위 글을 바탕으로 진행
데이터의 request 메서드에 따른 요청 반환 구성하기
상태코드 개념
- 200 OK : 요청이 성공적으로 처리
- 201 Created: 새로운 데이터 생성 요청이 성공적으로 처리
- 204 No Content: 요청이 성공적으로 처리되었지만, 반환할 데이터가 없음
- 400 Bad Request: 서버 측 로직 오류 혹은 요청 파라미터 등 필요 요소를 잘못 넣어 서버가 해당 요청을 처리하지 못할 경우 반환
- 401 Unauthorized: 클라이언트가 인증되지 않은 사용자
- 403 Forbidden: 클라이언트의 인증여부와 관계없이 권한이 없음
- 404 Not Found: 요청한 리소스가 서버에 없음
- 500 Internal Server Error: 서버 정지 등 서버 측 에러 알림
이 포스팅에선 POST & GET 요청에 대한 응답 처리를 다뤄보자.
해당 응답 처리에 대한 status를 지정을 구성할 수 있다.
이 글에서는 응답을 확인하기 위해 POSTMAN을 사용해서 확인했다.
앞서 작성한 코드 파일에서 데이터를 생성하고 출력하는 형태를 만들어보자.
새로운 경로를 하나 지정해서 만들어주자.
from django.urls import path
from . import views
urlpatterns = [
path('products/', views.products),
path('products_list/', views.products_list)
]
이제 views에 데이터를 넣고, 볼 수 있게 구성해보자
@api_view(['GET', 'POST'])
def products_list(request):
print(request)
if request.method == 'GET':
products_data = Products.objects.all()
serializer = ProductsSerializer(products_data, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = ProductsSerializer(data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.data, status=status.HTTP_400_BAD_REQUEST)
여기서 유효하지 않은 데이터에 대해 예외를 발생시키기 위해서 raise_exception 인자를 is_valid()에 사용할 수 있다.
이제 POSTMAN을 이용해서 데이터를 전송해 보자.
POST로 데이터를 입력하고, GET을 통해 확인하면
정상적으로 데이터가 들어갔음을 확인할 수 있다.
반응형
'개발 > Django' 카테고리의 다른 글
[Django] REST framework를 이용한 Rest API 사용해보기 (0) | 2023.04.24 |
---|---|
[Django] OPEN API를 이용하여 값 출력해보기 (0) | 2023.04.24 |
[Django] 댓글 권한 설정해보기 (0) | 2023.04.12 |
[Django] 게시판 권한 설정해보기 (0) | 2023.04.12 |
[Django] 게시판 댓글 기능 구현 해보기 - Part 3 (0) | 2023.04.12 |
댓글