如何序列化Django REST框架的序列化器?

时间:2020-03-31 07:27:26

标签: python django django-rest-framework jsonschema serialization

也许这是不可能的,但是给出了这样的Django Serializer类:

class ExampleSerializer(serializers.Serializer):
    name = serializers.CharField(min_length=1, max_length=200)

我希望有一种让客户端像这样的JSON Schema一样的方式(我不太在意格式,OpenAPI也可以):

{
  "$id": "https://example.com/example.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "ExampleSerializer",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  }
}

这样做的好处是,我也不必在客户端中重复架构逻辑。我尝试使用其CoreAPI来记录端点,但似乎要使用它,我需要将所有序列化器转换为使用其AutoSchema格式。我不想这样做,因为我已经以seralizer格式使用它了。推荐的方法是什么?如果没有(already asked on Reddit),那么创建一个Serializer-to-JSONSchema转换器对我来说相对容易,但是我无法想象自己是第一个想要这个的人。 >

0 个答案:

没有答案