活在前后端分离的年代,我觉得后端重要的工作之一就是写出好用、好沟通的API。
可以先看一下HTTP 请求方法:
GET : 不带form参数,请求取得资料。POST : 提交form参数,以进行操作。PUT : 完全更新一笔资料。PATCH : 部分更新一笔资料。DELETE : 删除资料。而在flask中,我们可以在装饰器选定HTTP请求方法:
@app.route('/login',methods = ['POST', 'GET'])
假设都不写的话预设就只有GET方法:
@app.route('/login')
那我们也可以依据请求方法,来决定程式进行不同的操作:
if request.method == 'POST':
在REST API的世界里,都是以json的格式来进行沟通:
from flask import Flask, request, Blueprint,jsonify,current_app@product_blueprint.route('/product_list')def productList(): product_List=['apple','orange'] return jsonify({'result':1,"content":product_List})
如果要附上HEADERS资讯及状态码呢?
from flask import Flask,render_template,jsonify,make_responseapp = Flask(__name__)@app.route('/')def login(): product_List=['apple','orange'] response = make_response(jsonify({"product_List": product_List, "severity": "danger"} ), 200, ) response.headers["Content-Type"] = "application/json" return responseif __name__ == "__main__": app.run(debug=True)
[day 1] 开场白[day 2] blue_print[day 3] Factory mode[day 4] JWT token[day 5] session[day 6] Jinja[day 7] Post data with Form tag[day 8] ajax with jquery[day 9] request[day 10] 将资料写进DB(pymongo)[day 11] log with mongoDB[day 12] Sql Database[day 13] 档案上传[day 14] 档案下载 及 其他传值方法[day 15] boostrap 4.6[day 16] API[day 17] Docker image化--安装篇[day 18] Docker image化--运行篇[day 19] Nginx[day 20] Docker compose[day 21] Nginx with https[day 22] pythonanywhere 部署[day 23] GCP app engine (介绍)[day 24] GCP app engine (deploy)[day 25] Flask with web cam[day 26] Flask with ML[day 27] Supervisor[day 28] Flask-Mail[day 29] Line Messaging API[day 30] 结语