Ax ios POST-запрос не работает с Django -RestFramework - PullRequest
1 голос
/ 20 апреля 2020

Когда я пытаюсь опубликовать сообщение с помощью приложения «Почтальон», оно прекрасно работает, но когда я отправляю сообщение с помощью VUE -Ax ios, оно показывает ошибку 400 Bad Request. Пожалуйста, помогите мне с этим. Также GET-запрос работает отлично

Только проблема связана с POST-запросом. Также с интерфейсом API по умолчанию он работает нормально. Пожалуйста, предложите изменить Vue Код PS Я новичок в Vue и API. взаимодействие

Это Vue Код

var app = new Vue(
    {
    el:"#app",
    delimiters: ['[[',']]'],
    data:
    {
        message: "Integrated With VUE",
    },
    mounted: function(){
        axios.get('api/movie')
        .then(response => console.log(response));
    },
    methods : {
        postData() {
            axios.post('api/movie/', {
                params:
                {   
                id : 10,
                title: "Random",
                rating: 5,
                type: "4",
                description: "This is another test data",
                torrent: "",
                date_added: "Auto_Add"}
            },
            {headers :   {"X-CSRFToken": csrftoken},

        }).then( (response)=> {console.log(response); });
        }
    }
});

В Django Просмотреть У меня есть

class MovieAPIView(APIView):
    def get(self, request, format=None):
        movies = Movie.objects.all()
        serializer = MovieSerializer(movies, many=True)
        return Response(serializer.data)

    def post(self, request, format=None):
        serializer = MovieSerializer(data = request.data)
        if serializer.is_valid():
            print("Valid Serializer")
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

В Django Сериализатор У меня есть

class MovieSerializer(serializers.ModelSerializer):
        class Meta:
            model = Movie
            fields = ['id', 'title', 'rating', 'type', 'description', 'torrent', 'date_added']
...