Как я могу сериализовать Django REST Framework Сериализаторы? - PullRequest
0 голосов
/ 31 марта 2020

Возможно, это невозможно, но с классом Django Serializer, подобным этому:

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

Я бы хотел, чтобы у клиента был способ получить его, как JSON Схема вот так (меня не особо волнует формат, с 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
    }
  }
}

Преимущество этого в том, что мне не нужно дублировать логи схемы c в клиент тоже. Я пытался использовать их CoreAPI , который документирует конечные точки, но похоже, что для его использования мне нужно было бы преобразовать все мои сериализаторы в их формат AutoSchema. Я не хочу делать, потому что у меня уже есть это в формате seralizer. Какой рекомендуемый способ сделать это? Если его нет ( уже задан в Reddit ), мне было бы относительно легко создать конвертер Serializer-to-JSONSchema, но я не могу себе представить, что я первый, кто получил хотел этого.

...