django - 如何从 drf-spectacular API 文档中删除 RetrieveUpd

我有以下看法:

class PersonalInfos(generics.RetrieveUpdateAPIView):
    serializer_class = ClientSerializer
    permission_classes = [IsAuthenticated]
    def get_queryset(self):
        """
        :return: A QuerySet Object
        """
        return Client.objects.get(user=self.request.user)

    def get(self, *args):
        """
        :param args: Handled by rest_framework views.dispatch

        :return: JSON object containing User Personal Data
        """
        queryset = self.get_queryset()
        serializer = ClientSerializer(queryset)
        return Response(data=serializer.data)

    def patch(self, request):
        """
        :param request: request object is sent by the client

        :return:  Json response with the data sent of the body
        """

        client = self.get_queryset()
        serializer = ClientSerializer(client, data=request.data, partial=True)
        if serializer.is_valid():
            serializer.save()
            return Response(data=serializer.data, status=200)
        return Response(data="Unexpected Parameters", status=400)

在 View 中一切正常,但问题是我正在使用 drf-spectacular,它在文档中向我展示了一个我们在 API 中不需要的 PUT 方法。我的问题是,如何自定义 drf-spectacular 以在文档中不包含 PUT 方法?

最佳答案

您可以使用 @extend_schema 装饰器从生成的模式中排除一个或多个方法,如下所示。

@extend_schema(methods=['PUT'], exclude=True)

关于django - 如何从 drf-spectacular API 文档中删除 RetrieveUpdateAPIView 中的 put 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66771619/

相关文章:

user-interface - 在 TreeView Odoo 13 之外添加按钮

javascript - 不要将数字或单词替换为下划线,而是保留破折号并删除其周围的空格

python - Pandas:Groupby 并使用剩余的列名和值创建字典

python - Pandas 在特定列的行上创建中位数

javascript - Material-UI Select 在 onChange 后不更新

c# - 用源发生器代替反射

rust - 为什么 Rust 元组不使用方括号访问里面的元素?

javascript - 如何使用react router dom显示详细信息页面

haskell - 合并两个 Either Monad 的结果

go - Helm : How to convert a string into lower/upp