簡體   English   中英

Flask Restx 中的字典類型 api.model

[英]Dictionary type api.model in flask Restx

我是 flask restx 的新手並試圖創建一個 dict 類型的 api.model 但我找不到任何提到它的示例或文檔,我不確定是否有任何解決方法可以實現這一點。 請分享你的想法

這是我想從 api 調用返回的數據

{
    "sandbox-iosxe-recomm-1.cisco.com": {
        "username": "developer", 
        "password": "cisco", 
        "protocol": "ssh",
        "port": 22,
        "os_type": "iosxe"
        },
    "sandbox-iosxr-1.cisco.com": {
        "username": "admin", 
        "password": "cisco", 
        "protocol": "ssh",
        "port": 22,
        "os_type": "iosxr"
}

這是我試圖創建的 api.model 模式,但這顯然不起作用,因為只有一個鍵和值,並試圖弄清楚如何實現這一點。 出於某種原因,我不想使用 List。

device_model = api.model('Device', {
                         'device': {
                                'username': fields.String(required=True, description='username', default='device username'),
                                'password': fields.String(required=True, description='password', default='device password'),
                                'protocol': fields.String(required=True, description='protocol', default='protocol name'),
                                'port': fields.Integer(required=True, description='port', default='port number'),
                                'os_type': fields.String(required=True, description='os_type', default='device OS type'),
                                }
                              }
                            )

您可以使用嵌套模型

device_nested = api.model(
    "device_nested",
    {
        'username': fields.String(required=True, description='username', default='device username'),
        'password': fields.String(required=True, description='password', default='device password'),
        'protocol': fields.String(required=True, description='protocol', default='protocol name'),
        'port': fields.Integer(required=True, description='port', default='port number'),
        'os_type': fields.String(required=True, description='os_type', default='device OS type'),
    },
)

device = api.model(
    "device",
    {
        "device": Nested(device_nested),
    },
)

它應該導致

{
    "device": {
        ...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM