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)