用到的库:
1、flask(写接口)
2、cerberus(校验数据)
实现效果:输入账号和密码,校验数据类型是否是字符串,如果是,返回登陆成功;如果不是,返回数据类型不正确
代码:
# 导包
from flask import Flask, jsonify, request
import cerberus
from cerberus import Validator
app = Flask(__name__)
# 账号、密码数据类型都设置为字符串
schema={'user':{'type':'string','required':True},
'password':{'type':'string','required':True}}
v = cerberus.Validator()
v.schema = schema
# post请求
@app.route('/api/sign-in', methods=['POST'])
def submit2():
data = request.get_json()
print(data)
# 校验数据
if v.validate(data):
return jsonify({'status': 'success', 'message': '请求成功', 'data': "登陆成功"}), 200
else:
return jsonify({'message': 'Input is invalid', 'errors': v.errors}), 400
# 运行
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080, threaded=True)
代码效果:
1入参格式错误时
2入参名字错误时
3入参正确