python自动化之用flask校验接口token【代码示例】

用到的库:flask

实现效果: 写一个接口,需要token正确才能登录

代码:

# 导包
from flask import Flask,request,jsonify,json    
# 创建一个服务
app=Flask(__name__)
# post请求,路径:/query
@app.route('/query', methods=['post'])

def login():
    key_token=request.values.get('token')
    if key_token=='123abc':
        result={'code':200,'message':'恭喜你登陆成功'}
        return json.dumps(result,ensure_ascii=False),200
    else:
        result={'code':9999,'token':'为空或不正确!'}
        return json.dumps(result,ensure_ascii=False),403
# 运行服务    
if __name__=='__main__':
    app.run(threaded=True,port=9080,host='localhost')

代码效果

1token为空

2token不为空但是不正确

3token正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask 中,可以使用 Flask-RESTful 或 Flask-Inputs 等第三方库来实现接口参数校验Flask-RESTful: Flask-RESTful 提供了 RequestParser 类来进行参数解析和校验示例代码如下: ```python from flask_restful import reqparse, abort, Api, Resource # 初始化 RequestParser 对象 parser = reqparse.RequestParser() # 添加参数校验规则 parser.add_argument('name', type=str, required=True, help='Name cannot be blank') parser.add_argument('age', type=int, required=True, help='Age cannot be blank') class User(Resource): def post(self): # 解析参数 args = parser.parse_args() # 校验参数 if args['name'] == 'Tom': abort(400, message='Name already exists') # 处理业务逻辑 user = {'name': args['name'], 'age': args['age']} return user, 201 # 注册路由 api = Api(app) api.add_resource(User, '/user') ``` 上述代码中,我们创建了一个名为 User 的资源类,其中 post 方法用于处理 POST 请求。在 post 方法中,我们首先使用 RequestParser 对象解析参数,然后校验参数是否符合要求,最后处理业务逻辑并返回结果。 Flask-Inputs: Flask-Inputs 提供了多种参数校验器,包括字符串长度、数字范围、正则表达式等,示例代码如下: ```python from flask import Flask, jsonify from flask_inputs import Inputs from flask_inputs.validators import JsonSchema # 初始化 Inputs 对象 inputs = Inputs() # 添加参数校验规则 schema = { 'type': 'object', 'properties': { 'name': {'type': 'string', 'minLength': 1}, 'age': {'type': 'integer', 'minimum': 0, 'maximum': 200} }, 'required': ['name', 'age'] } inputs.add('json', JsonSchema(schema=schema)) @app.route('/user', methods=['POST']) def create_user(): # 校验参数 if inputs.validate(): # 处理业务逻辑 user = {'name': inputs.json['name'], 'age': inputs.json['age']} return jsonify(user), 201 else: return jsonify(errors=inputs.errors), 400 ``` 上述代码中,我们创建了一个名为 create_user 的路由,其中使用 Inputs 对象添加了参数校验规则,然后在路由处理函数中校验参数并处理业务逻辑。如果参数校验失败,我们将返回 400 错误和错误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值