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

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

python - 在Swagger中为Django Rest Framework显示最大值,最小值和默认值-LMLPHP

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

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):
    [...]


似乎没有人遇到相同的问题,因此(也许我希望)我错过了一些琐碎的事情。希望能对您有所帮助。谢谢!

最佳答案

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文档字符串来执行。 Swagger RESTful API Documentation Specification 4.3.3数据类型字段中的更多详细信息

关于python - 在Swagger中为Django Rest Framework显示最大值,最小值和默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34591291/

10-13 06:36