Flask-RESTPlus - Вложенные поля не регистрируются в SwaggerUI - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь создать Вложенное поле для модели ответа. Я не понимаю, почему сгенерированный swagger.json знает о вложенном поле, но не регистрирует его под $/definitions.

Это моя модель

HypervisorResponse = ns.model('HypervisorResponse', {
    'name': fields.String(required=True, example='hypervisor01.xx.com'),
    'ip_addr': fields.String(required=True, example='192.168.0.0'),
    'provider': fields.String(required=True),
    'runtime': fields.Nested(
        ns.model('RuntimeResponse', {
            'uptime': fields.Integer(attribute='uptime'),
            'last_boot': fields.String(attribute='last_boot'),
            'memory_total': fields.Integer(attribute='memory_total'),
            'memory_used': fields.Integer(attribute='memory_used')
        })
    )
})

Выведенный файл swagger.json равен

        "HypervisorResponse": {
            "required": [
                "ip_addr",
                "name",
                "provider"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "hypervisor01.xx.com"
                },
                "ip_addr": {
                    "type": "string",
                    "example": "192.168.0.0"
                },
                "provider": {
                    "type": "string"
                },
                "runtime": {
                    "$ref": "#/definitions/RuntimeResponse"
                }
            },
            "type": "object"
        }

1 Ответ

0 голосов
/ 28 июня 2019

Через некоторое время я понял, что причиной этого является упорядоченное свойство NAMESPACE.Установка его в False решила проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...