小编Mis*_*sza的帖子

DRF可浏览API原始数据占位符

我是 DRF 新手,对可浏览的 API 有疑问。我希望使用常规 APIView 在“原始数据”选项卡的“内容”中填充一个空的 JSON,以便用户看到请求应该是什么样子。

当我使用 CreateModelMixin 时它可以工作,但我想在创建后返回与整个模型不同的东西,甚至有只进行一些计算而没有任何模型的路由。

# serializers.py----------------------

class AnalysisSerializer(serializers.ModelSerializer):
    requestor = serializers.ReadOnlyField(source='requestor.username')
    results = serializers.ReadOnlyField()
    class Meta:
        model = Analysis
        fields = ('requestor','text','results')


# views.py----------------------

class AnalysisRequest(APIView):
    """
    Request text analysis.
    """

    serializer_class = AnalysisSerializer

    def post(self, request):
        serializer = AnalysisSerializer(data=request.data)
        if serializer.is_valid():
            text = serializer.validated_data['text']
            results = analyze.analyze_text(text)
            serializer.save(requestor=request.user, results=results)
            return Response(results, status=status.HTTP_200_OK)
        else:
            return Response({'error': 'Invalid JSON received.'}, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

对于上面的示例,我希望可浏览的 API 在“原始数据”选项卡的“内容”字段中显示空 JSON:

{
  "text": ""
}
Run Code Online (Sandbox Code Playgroud)

有什么简单的方法可以做到这一点吗?

django-rest-framework

6
推荐指数
1
解决办法
461
查看次数

标签 统计

django-rest-framework ×1