在Flask Restplus中以编程方式获取复杂模型的示例

时间:2018-07-30 15:24:49

标签: python flask-restplus

我正在使用Flask Restplus开发API。我正在使用的端点之一具有非常复杂的json模式,该模式已通过框架成功验证。

有一个问题,那就是,如果我对json模式进行了更改,但这些更改未反映在每个Field的'example'参数中,则该示例与API的其余部分不同步。我想测试一下,但是我不知道如何从API获取JSON示例:

from flask_restplus import Api, fields, Resource
api = API(...)

sub_model_1 = api.model(
                  'sub_model_1', 
                  {
                       'field1': fields.List(..., example=[1, 2, 3]),
                       'field2': fields.String(..., example='ex field2')
                  })
sub_model_2 = api.model(...) # more models each one with examples
sub_model_3 = api.model(...) #

model = api.model('final_model', {
                'sm1': fields.Nested(sub_model_1, required=True),
                'sm2': fields.Nested(sub_model_2, required=True),
                'sm3': fields.Nested(sub_model_3),
            })
...
@api.expect(model, validate=True)
def post():
    ...

从上面的代码中,我想获取模型'model'的JSON,即所有其他子模型的集合,并使用它进行测试并验证示例中的模型是否有效。

有一种简单的方法可以得到它吗?或者也许是另一种测试示例与模型同步的方法?

0 个答案:

没有答案