Utils 参考¶
注意
本文档的这一部分是 cloudkitty.api.v2.utils 模块的参考。它是从函数的文档字符串生成的。请在此页面上报告您遇到的任何文档错误
- class cloudkitty.api.v2.utils.SingleQueryParam(param_type)[source]¶
Voluptuous 验证器,用于验证唯一的查询参数。
此验证器检查 URL 查询参数是否只提供一次,验证其类型并直接返回它,而不是返回包含单个元素的列表。
请注意,此验证器内部使用
voluptuous.Coerce,因此不应与 python2 中的cloudkitty.utils.validation.get_string_type一起使用。- 参数:
param_type – 查询参数的类型
- cloudkitty.api.v2.utils.add_input_schema(location, schema)[source]¶
为方法的输入添加 voluptuous 模式验证
将可以转换为 voluptuous 模式的字典作为参数,并使用此模式验证参数。 “location” 参数用于指定参数的位置。请注意,对于查询参数,Flask 返回一个
MultiDict。因此,每个字典键都将包含一个列表。为了方便与唯一的查询参数交互,可以使用SingleQueryParamvoluptuous 验证器from cloudkitty.api.v2 import utils as api_utils @api_utils.add_input_schema('query', { voluptuous.Required('fruit'): api_utils.SingleQueryParam(str), }) def put(self, fruit=None): return fruit
要接受查询参数列表,可以使用
MultiQueryParamfrom cloudkitty.api.v2 import utils as api_utils @api_utils.add_input_schema('query', { voluptuous.Required('fruit'): api_utils.MultiQueryParam(str), }) def put(self, fruit=[]): for f in fruit: # Do something with the fruit
- 参数:
location (str) – 参数的位置。必须是 [‘body’, ‘query’] 中的一个
schema (dict) – 应用于方法 kwargs 的模式
- cloudkitty.api.v2.utils.add_output_schema(schema)[source]¶
为方法的输出添加 voluptuous 模式验证
示例用法
class Example(base.BaseResource): @api_utils.add_output_schema({ voluptuous.Required( 'message', default='This is an example endpoint', ): validation_utils.get_string_type(), }) def get(self): return {}
- 参数:
schema (dict) – 应用于方法输出的模式
- cloudkitty.api.v2.utils.do_init(app, blueprint_name, resources)[source]¶
将包含一个或多个资源的蓝图注册到 app。
- 参数:
app (flask.Flask) – 应注册蓝图的 Flask 应用
blueprint_name (str) – 要创建的蓝图的名称
resources (匹配
cloudkitty.api.v2.RESOURCE_SCHEMA的字典列表) – 要添加到蓝图 Api 的资源
- cloudkitty.api.v2.utils.paginated(func)[source]¶
分页的辅助函数。
将两个参数添加到装饰的函数中:*
offset:int >=0。默认为 0。*limit:int >=1。默认为 100。示例用法
class Example(base.BaseResource): @api_utils.paginated @api_utils.add_output_schema({ voluptuous.Required( 'message', default='This is an example endpoint', ): validation_utils.get_string_type(), }) def get(self, offset=0, limit=100): # [...]