DRF는 사용자가 기존의 함수 기반의 뷰를 사용할 수 있도록 허용한다. 함수 기반의 뷰는 DRF의 Request 인스턴스 (기존의 장고 HttpRequest
가 아니라) 간단한 데코레이터의 집합을 제공한다.
from rest_framework.decorators import api_view
@api_view()
def hello_world(request):
return Response({"message": "Hello, world!"})
함수 기반 뷰는 기본으로 GET
메소드만 허용한다. 다른 메소드로 접근한다면 405 Method Not Allowed
로 응답한다. 다른 메소드를 사용하려면 다음과 같이 어떤 특정 메소드를 사용할 것인지 명시해주면 된다.
@api_view(['GET', 'POST'])
def hello_world(request):
if request.method == 'POST':
return Response({"message": "Got some data!", "data": request.data})
return Response({"message": "Hello, world!"})