在 Swagger for Django Rest Framework 中显示最大值、最小值和默认值

Show maximum, minimum and default in Swagger for Django Rest Framework

我正在为我的 API 开发 v2,我想正确记录它。由于我使用的是Django Rest Framework(3.1.1),而且他们的文档中推荐使用Swagger,所以我正在使用它。

在文档中,我看到它的功能之一是显示 "Field default values, minimum, maximum, read-only and required attributes"。但是,在我的示例中,我只看到 "Description"、"Parameter Type" 和 "Data Type",如图所示:

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

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 数据类型字段中的更多详细信息