Django Rest Framework + Postman + JSON 解析错误

Django Rest Framework + Postman + JSON parse error

我创建了一个 Django Api。我用 rest_framework.generics.CreateAPIView 到 post。它在默认浏览器中运行良好。但是当我使用 Postman 时它会抛出一个错误。

views.py

class AuthorCreateAPIView(CreateAPIView):
  queryset = Author.objects.all()
  serializer_class = AuthorCreateUpdateSerializer

serializers.py

class AuthorCreateUpdateSerializer(ModelSerializer):
  class Meta:
  model = Author
  fields = [
    'name',
    'biography',
  ]

错误"detail": "JSON parse error - Expecting value: line 1 column 1 (char 0)"

问题是您使用 form-data 作为输入,您应该改用 application/json

但是您也可以修复项目的设置文件以接受表单数据。您需要将 FormParser 添加到项目的 settings.py 中的 DEFAULT_PARSER_CLASSES。它应该是这样的:

REST_FRAMEWORK = {
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
        'rest_framework.parsers.FormParser',
    )
}