"Ошибка разбора 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).