APIView
from rest_framework.views import APIView
class PostListAPIView(APIView):
permission_classes = [IsAuthenticated]
def get(self, request):
posts = Post.objects.all().order_by('-created_at')
serializer = PostSerializer(posts, many=True)
return Response(serializer.data)
ListAPIView
from rest_framework.generics import ListAPIView
class PostListAPIView(ListAPIView):
queryset = Post.objects.all().order_by('-created_at')
serializer_class = PostSerializer
permission_classes = [IsAuthenticated]
APIView와 달리 ListAPIView가 제공하는 기능
• 자동으로 get_queryset() 호출
• 자동으로 serializer_class를 바탕으로 직렬화
• GET 요청에 대해 자동으로 200 OK와 함께 JSON 응답 제공