当前位置:   article > 正文

从0开始python学习-53.python中flask创建简单接口

从0开始python学习-53.python中flask创建简单接口

目录

 

1. 创建一个简单的请求,没有写方法时默认为get

2. 创建一个get请求

3. 创建一个post请求,默认可以使用params和表单传参

4. 带有参数的post请求


 

1. 创建一个简单的请求,没有写方法时默认为get

  1. from flask import Flask, request
  2. # 初始化一个flask的对象
  3. app = Flask(__name__)
  4. @app.route("/")
  5. def a():
  6. return "简单接口" # 注意一定要有返回
  7. if __name__ == '__main__':
  8. app.run()

f1c6c044e98b4b4ca6d63d03609a5201.png

2. 创建一个get请求

  1. from flask import Flask, request
  2. # 初始化一个flask的对象
  3. app = Flask(__name__)
  4. @app.route("/get",methods=['get'])
  5. def get():
  6. name = request.values.get('name')
  7. age = request.values.get('age')
  8. if name is None or name == '':
  9. return '姓名必填'
  10. elif age is None or age == '':
  11. return '年龄必填'
  12. else:
  13. return {'name为:':name,'age为:':age}
  14. if __name__ == '__main__':
  15. app.run()

e1de79d801a4414c989e262cb57b3885.png

3. 创建一个post请求,默认可以使用params和表单传参

  1. from flask import Flask, request
  2. # 初始化一个flask的对象
  3. app = Flask(__name__)
  4. @app.route("/post",methods=['post'])
  5. def post():
  6. name = request.values.get('name')
  7. age = request.values.get('age')
  8. if name is None or name == '':
  9. return '姓名必填'
  10. elif age is None or age == '':
  11. return '年龄必填'
  12. else:
  13. return {'name为:':name,'age为:':age}
  14. if __name__ == '__main__':
  15. app.run()

d5bd465f28774315bfd69ad8b74d1b26.png

4. 带有参数的post请求

  1. import time
  2. from flask import Flask, request, jsonify
  3. # 初始化一个flask的对象
  4. app = Flask(__name__)
  5. # form参数的post接口
  6. @app.route("/post_form",methods=['post'])
  7. def post_form():
  8. name = request.form.get('name')
  9. age = request.form.get('age')
  10. if name is None or name == '':
  11. return '姓名必填'
  12. elif age is None or age == '':
  13. return '年龄必填'
  14. else:
  15. return {'name为:':name,'age为:':age}
  16. # json参数的post接口
  17. @app.route("/post_json",methods=['post'])
  18. def post_json():
  19. data = request.json
  20. if not all(key in data for key in ['name', 'age']):
  21. return jsonify({'error': '姓名和年龄是必填项'})
  22. return jsonify(data)
  23. # 文件上传的post接口
  24. @app.route("/post_file",methods=['post'])
  25. def post_file():
  26. # 获取需要上传的文件
  27. file = request.files.get('files')
  28. # 获取文件名
  29. filename = file.filename
  30. # 上传文件保存路径和格式(保证文件格式正常,使用切片的方式分段获取)
  31. with open("D:\\"+filename.split(".")[0]+"_"+str(int(time.time()))+"."+filename.split(".")[1],"wb") as f:
  32. f.write(file.read())
  33. return filename +'上传成功'
  34. if __name__ == '__main__':
  35. app.run()

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/141210
推荐阅读
相关标签
  

闽ICP备14008679号