my_book_list_api/books/views.py
2025-11-04 21:06:20 +01:00

23 lines
813 B
Python

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticatedOrReadOnly
from rest_framework import status
from .models import Book
from .serializers import BookSerializer
class BookListCreateView(APIView):
permission_classes = [IsAuthenticatedOrReadOnly]
def get(self, request):
books = Book.objects.all()
serializer = BookSerializer(books, many=True)
return Response(serializer.data)
def post(self, request):
serializer = BookSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)