打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于Flask的 api(一)

Flask是一个基于Python开发的微型web框架

使用Flask实现简单的 api

安装

 pip install flask

flask版本

import flaskprint(flask.__version__)$ python test.py1.1.2

eg:

from flask import Flaskapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'if __name__ == "__main__":
    app.run()

浏览器打开http://127.0.0.1:5000/

页面输出

  hello,world

说明:

  Flask自带的Server默认监听端口为5000

启用了 Flask 调试 模式

from flask import Flaskapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'if __name__ == "__main__":
    app.run(debug=True)

修改端口

from flask import Flaskapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'if __name__ == "__main__":
    app.run(debug=True,port=6000)

1.GET方法

参数形式 ?key=value

from flask import Flask,request,abortapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'@app.route("/testGet", methods=['GET'])def testGet():
    name = request.args.get('name','')
    age = request.args.get('age','')
    return {'name':name,'age':age}if __name__ == "__main__":
    app.run()

postman测试

使用 path 的形式

from flask import Flask,request,abortimport osapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'@app.route("/testGet/<name>", methods=['GET'])def testGet(name,age=20):

    return {'name':name,'age':age}if __name__ == "__main__":
    app.run(debug=True,port=5000)

使用postman测试

from flask import Flask,request,abortimport osapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'@app.route("/testGet/<name>/<age>", methods=['GET'])def testGet(name,age):

    return {'name':name,'age':age}if __name__ == "__main__":
    app.run(debug=True,port=6000)

2.POST方法

(1)接收json数据

from flask import Flask,request,abortapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'@app.route("/testPost", methods=['POST'])def testPost():
    if not request.json or not 'text' in request.json:
        abort(400)
    text = request.json.get('text', '')
    return {'text':text}if __name__ == "__main__":
    app.run()

postman测试

(2)formdata数据,request.form

from flask import Flask,request,abortapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'@app.route('/testPost', methods=['POST'])def testPost():
    text = request.form['text']
    print(text)
    return {'text':text}if __name__ == "__main__":
    app.run(debug=True,port=5000)

  eg:文件上传并保存

from flask import Flask,request,abortimport osapp = Flask(__name__)@app.route('/')def hello():
    return 'hello,world'@app.route('/testPost', methods=['POST'])def testPost():
    text = request.form['text']
    message = '没有文件'
    success = False;
    if request.files:
        file = request.files['file']
        if file:
            success = True
            filename = file.filename
            file.save(os.path.join(app.root_path, 'upload', filename))
            message = '文件已保存'+os.path.join(app.root_path, 'upload', filename)
    print(text)
    return {'success':success,'text':text,'message':message}if __name__ == "__main__":
    app.run(debug=True,port=5000)

postman测试

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
flask基础学习一
计算机技术|我的第一个Flask程序
Flask - Cookie的使用
Python Flask Web 框架入门
flask第八篇——url_for【1】
超实用的Flask入门基础教程,新手必备!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服