首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于GET请求的drf-yasg文档输入和输出序列化程序

用于GET请求的drf-yasg文档输入和输出序列化程序
EN

Stack Overflow用户
提问于 2019-09-21 11:23:16
回答 2查看 3.3K关注 0票数 8

我想用drf-yasg记录GET请求的输入模式和输出模式。

这似乎并不容易。

代码语言:javascript
复制
     @swagger_auto_schema(
         manual_parameters=[
             openapi.Parameter('cart_id', in_=openapi.IN_QUERY,
                               type=openapi.TYPE_INTEGER)
         ])

上面的代码显示了GET参数,但以某种方式隐藏了响应模式。

代码语言:javascript
复制
@swagger_auto_schema(methods=['put', 'post'], request_body=UserSerializer)

我不能将request_body用于GET查询参数,它仅用于post正文

那么如何用drf-yasg记录我的输入模式和输出模式呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-21 11:45:52

票数 5
EN

Stack Overflow用户

发布于 2021-07-04 21:19:36

我的api视图是:

代码语言:javascript
复制
    class ProductListView(APIView):
        """
            get 1 or list of products for show to users
        """
    
        serializer_class = ProductGetSerializer
        permission_classes = (
            AllowAny,
        )
    
        def get(self, request, product_id=None):
            if product_id is not None:
                product = get_object_or_404(Product.confirmed, pk=product_id)
                srz_data = self.serializer_class(instance=product)
                return Response(data=srz_data.data, status=status.HTTP_200_OK)
    
            products = Product.confirmed.all()
            srz_data = self.serializer_class(instance=products, many=True)
            return Response(data=srz_data.data, status=status.HTTP_200_OK)

我的序列化程序也是ModelSerializer:

代码语言:javascript
复制
class ProductGetSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product
        fields = (
            'id',
            'name',
            'image',
            'category',
            'description',
            'price',
            'stock',
        )

不要在drf_yasg中显示仅获取视图的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58037024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档