Flask-restplus模型中不允许任何其他字段

时间:2018-11-23 13:10:57

标签: python flask-restful

我正在使用Flask Rest-plus模型来验证POST负载,但是如果存在任何额外/未知字段,我希望模型出错。

正在使用的模型:

interface_config = api.model('Network Interface Validation', {
    'gateway': fields.String(required=True, description='Gateway IP'),
    'subnet': fields.String(required=True, description='Subnet IP'),
    'netmask': fields.String(required=True, description='Netmask'),
    'vlan_id': fields.Integer(required=True, description='VLAN ID'),
    'type': fields.String(required=True, description='IP Version')
})

我想对包含以下内容的有效载荷进行错误处理

 {
    "gateway": "172.22.191.129",
    "subnet": "172.22.191.128",
    "netmask": "255.255.255.128",
    "vlan_id": 887,
    "type": "static",
    "extra_key_name": "<some_str>"
}

1 个答案:

答案 0 :(得分:0)

一个人可以使用marshal中的flask_restplus函数来重用模型定义,并跳过多余的字段。

from flask_restplus import marshal
marshal(api.payload, schema, skip_none=True)