Performance: APIView for custom endpoints
MEDIUM IMPACT
This affects server response time and client perceived load speed when handling custom API endpoints.
from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.pagination import LimitOffsetPagination class MyView(APIView, LimitOffsetPagination): def get(self, request): queryset = [{'number': i} for i in range(1000)] page = self.paginate_queryset(queryset, request, view=self) return self.get_paginated_response(page)
from rest_framework.views import APIView from rest_framework.response import Response class MyView(APIView): def get(self, request): data = [] for i in range(1000): data.append({'number': i}) return Response(data)
| Pattern | Server Processing | Response Size | Network Transfer | Verdict |
|---|---|---|---|---|
| Building large data list in view | High CPU and memory use | Large JSON payload | Longer transfer time | [X] Bad |
| Using pagination with APIView | Lower CPU and memory use | Smaller JSON payload | Faster transfer | [OK] Good |