在Swagger for Django Rest Framework

时间:2016-01-04 12:34:16

标签: python django django-rest-framework swagger swagger-ui

我正在为我的API开发一个v2,我想正确记录它。由于我使用Django Rest Framework(3.1.1),并且在他们的文档中建议使用Swagger,我正在使用它。

在文档中,我看到它的一个功能是显示“字段默认值,最小值,最大值,只读和必需属性”。但是,在我的示例中,我只看到“描述”,“参数类型”和“数据类型”,如图所示:

enter image description here

我希望看到更多列,例如最小值,最大值和默认值,以及从模型中获取的值(不必在序列化器中重写它们。这是我的序列化程序,以防它有用:

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ('id', 'email', 'first_name', 'last_name', 'password',)
        write_only_fields = ('password',)
        read_only_fields = ('id',)

    def create(self, validated_data):
    [...]

似乎没有人有同样的问题,所以也许(我希望不是)我错过了一些微不足道的事情。希望你能帮忙。谢谢!

1 个答案:

答案 0 :(得分:1)

class MySourceView(generics.RetrieveUpdateDestroyAPIView):
    """
    MySource documentation
    """
    serializer_class = MySourceSerializer
    queryset = MySource.objects.all()

    def get(self, request, *args, **kwargs):
        """
        GET Documentation
        ---
            parameters_strategy: replace
            parameters:
                - name: pk
                  description: "Liverpool FC is the best."
                  required: true
                  type: string
                  paramType: path
                  defaultValue: 5
        """
        return self.retrieve(request, *args, **kwargs)

您可以在指定方法中将其作为YAML docstring执行。 Swagger RESTful API Documentation Specification 4.3.3数据类型字段

中的更多详细信息