对于采用flask框架进行后端api开发的人来说,请求参数
进行校验往往是进行后端逻辑处理的第一步。如果自己写参数校验逻辑,费力有耗时,这时候选用一个第三方插件,能达到事半功倍的效果。今天推荐给大家一款flask插件pre_request
- 安装插件
# 采用 pip 进行包管理
pip install pre_request -i https://mirrors.aliyun.com/pypi/simple/
# 采用 anaconda 进行包管理
conda install pre_request
- 如何配合使用
from flask import Flask, request
from pre_request import pre, Rule, ParamsValueError
@app.errorhandler(ParamsValueError)
def params_value_error(e):
# 参数校验失败后 返回此响应
return pre.fmt_resp(e)
@app.route('/main')
def main_page():
main_rule = {
'cid': Rule(required=True, skip=True),
'sku': Rule(required=True, enum=['1', '2'])
}
rst = pre.parse(main_rule)
return 'params check ok'
ps:
required=True
表示,这个请求参数必填
enum=['1', '2']
表示 这个请求参数的值只能是 1,2中的某一个
更多使用方法参考:
https://pre-request.readthedocs.io/en/master/quickstart.html#minimal-example