码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 从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()

     

     

  • 相关阅读:
    SWT/ANR问题--Dump时间过长导致的SWT
    【C++】list常用接口
    2022年12月 电子学会青少年软件编程 中小学生Python编程 等级考试一级真题答案解析(选择题)
    pyinstaller打包python脚本为exe可执行文件实例:错误排查小脚本
    【TI毫米波雷达笔记】IWR6843AOPEVM-G+DCA1000EVM的mmWave Studio数据读取、配置及避坑
    freeswitch-1.10.7性能测试
    Docker安装mysql、redis、rabbitmq
    Node.js【模块的加载机制、初识 Express、Express 路由】
    多帧三角化原理
    打印字符串,数组,对象,函数的原型方法
  • 原文地址:https://blog.csdn.net/Meseiter/article/details/136259421
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号