Flask API作为Angular应用REST端点的测试及代码咨询
Flask作为Angular后端的/users接口实现与测试分享
我最近在给Angular应用搭建Flask REST后端,刚完成了/users接口的开发和测试,这里把实现细节和踩过的小坑分享给大家:
核心代码实现
这是获取全部用户数据的接口代码,用到了Flask-SQLAlchemy做数据库查询,Marshmallow做数据序列化:
# 导入所需依赖 from flask import jsonify, request from your_app_module import db, app from your_models_module import User from your_schemas_module import UserSchema @app.route('/users') def get_users(): # 从数据库查询所有用户记录 users_objects = User.query.all() # 用Marshmallow Schema批量序列化数据 users_schema = UserSchema(many=True) result = users_schema.dump(users_objects) # 返回JSON格式的响应 return jsonify(result)
测试阶段的关键要点
- 数据库验证:测试前一定要确认数据库连接正常,并且提前存入几条测试数据,不然接口会返回空数组,容易误以为代码逻辑有问题
- 接口测试工具:我用Postman和
curl都测过,比如执行curl http://localhost:5000/users,能快速看到返回的JSON结构是否符合Angular前端的预期 - Schema一致性:要确保
UserSchema的字段和User模型完全对应,我之前漏了一个email字段,导致前端拿不到邮箱数据,排查了半天才找到原因 - 跨域问题:因为是给Angular前端提供接口,记得提前配置CORS(比如用flask-cors扩展),不然前端请求会被浏览器拦截
如果大家在测试过程中遇到序列化、数据库查询或者跨域的问题,欢迎一起讨论!
内容的提问来源于stack exchange,提问作者nrvaller
相关产品推荐
相关产品推荐

