Django - Что лучше - просто создавать конечные точки REST с параметрами url или APIViews с сериализаторами?

Ниже я привожу 2 примера того, что я имею в виду. DELETE использует Django REST framework и принимает id пользователя в качестве url параметров для удаления объекта FollowUser. Второй ожидает информацию для создания объекта FollowUser в "данных" запроса. Я предпочитаю первый метод, потому что мне не нужно создавать APIView, где все запросы требуют одинакового тела данных, и мне не нужно создавать новые сериализаторы для разных запросов. Например, если DELETE требует только 2 атрибута таблицы, а POST требует их все. Какая из этих практик более безопасна (менее подвержена взлому)? Могу ли я потребовать аутентификацию с помощью JWT-токена для обоих этих стилей создания конечных точек?

@api_view(['DELETE'])
def delete(self, request, follower_id, followee_id):
    FollowUser.objects.get(follower_id=follower_id, followee_id=followee_id).delete()
    return HttpResponse(status=status.HTTP_200_OK)

class FollowGoalView(APIView):
    def post(self, request):
        serializer = FollowUserSerializer(data=request.data)
    
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Вернуться на верх