【问题标题】:flask restex @expect with nested fields带有嵌套字段的烧瓶restex @expect
【发布时间】:2021-05-17 11:33:25
【问题描述】:

我正在使用嵌套字段来验证传入的帖子请求,使用 @api.expect like

payload1 = api.model('Payload', {
'prop1': fields.Nested({'prop1_inner' : fields.String(required=True)})
})

payload2 = api.model('Payload', {
'prop1': fields.Nested(api.model("metadata", {
'prop1_inner': fields.String(required=True)
}))
})
  
 #doesn't work
 @api.expect(payload1 , validate=True)
 def post(self):
 #works
 @api.expect(payload2 , validate=True)
 def post(self):

当我使用 payload1 like 时遇到异常

'dict' 对象没有属性'name'

我希望这两种表单都能验证传入的请求。想知道没有模型包装器的嵌套字段不起作用的原因。

【问题讨论】:

    标签: python flask flask-restx


    【解决方案1】:

    考虑一下。 嵌套模型通常不在内部定义。它们本身必须是具有离散名称的离散模型,将嵌套字段作为单独的模型进行记录,因此,在这里,

    payload1_addon = api.Model('PayloadAddon',{
                                    'prop1_inner' :fields.String(required=True)})
    
    payload1 = api.model('Payload', {'prop1': fields.Nested(payload1_addon)})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 2019-11-24
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多