"Ошибка разбора JSON - ожидается имя свойства, заключенное в двойные кавычки: строка 1 столбец 2 (char 1)"

Я создаю проект с Django Rest Framework и столкнулся с некоторыми проблемами и не могу их решить.

Итак, у меня есть URL для метода post, и когда я отправляю туда сообщение с помощью postman, я получаю ошибку:

    {
  "detail": "JSON parse error - Expecting property name enclosed in double quotes: line 1 column 2 (char 1)"
}

Вот данные, которые я отправляю:

{username:"REQUAB", password:"REQUAB", emailId:"requab@gmail.com"}

И чтобы проверить, была ли у меня какая-то проблема в сериализаторе или в модели, я сделал обычный запрос get и получил правильный результат.

my models.py:

from django.db import models

# Create your models here.

class User(models.Model):
    emailId = models.EmailField(max_length=50)
    username = models.CharField(max_length=20)
    password = models.CharField(max_length=50)
    recipes = models.IntegerField(default=0)

    def __str__(self):
        return self.username

my serializers.py:

from rest_framework import serializers
from .models import User

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ['id', 'username', 'emailId', 'password', 'recipes']

my urls.py:

from django.urls import path

from .views import UsersList, UsersDetail

urlpatterns = [
    path('', UsersList.as_view()),
]

my views.py:

from django.http import Http404
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from users.models import User
from .serializers import UserSerializer

# Create your views here.

class UsersList(APIView):
    def get(self, request, format=None):
        users = User.objects.all()
        serializer = UserSerializer(users, many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)
    

    def post(self, request):
        print(request.data)
        serializer = UserSerializer(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)

Пожалуйста, помогите мне с этим (спасибо, заранее).

Ошибка довольно ясна, попробуйте заключить имена свойств в двойные кавычки или использовать JSON.stringify при отправке (используя JS).

Вернуться на верх