一、flask的介绍
Flask是一个轻量级的Python Web框架,由Armin Ronacher开发,用于构建简单而灵活的Web应用程序。它使用Python的Werkzeug工具包和Jinja2模板引擎,并且具有简单易用的API。
以下是一些特点和优势:
- 简单易学:Flask提供了简单且直观的API,使得开发人员可以快速上手并构建Web应用程序。
- 轻量级:Flask是一个轻量级的框架,它不需要依赖大量的外部库或工具,因此可以快速启动和运行。
- 灵活性:Flask具有高度的灵活性,开发者可以根据自己的需求自定义和扩展框架。
- 可扩展性:Flask可以通过使用插件来扩展功能,提供对数据库、身份验证、缓存等的支持。
- 适用于小型项目:由于其轻量级和灵活性,Flask特别适用于快速开发小型项目或原型。
总的来说,Flask是一个简单、灵活和易学的Python Web框架,适用于各种规模的项目。它是一个流行的选择,因为它提供了一种快速开发Web应用程序的方式,同时具有足够的灵活性和可扩展性。
二、flask实现API接口开发基础案例
1.get请求api:
代码中启动方法参数:host表示当前api的地址,port为端口号,debug是否开启debug模式。
其中对于get请求头的参数获取可以使用:request.args.get('参数名')获取
from flask import Flask, jsonify, send_file, request
app = Flask(__name__)
# 无参的get请求
@app.route('/test/get', methods=['GET'])
def get():
参数 = request.args.get('传递参数名')
return 'hello flask'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080, debug=True)
2.post请求api:
注意:对于post请求的api与给的区别在于@app.route中参数methods的值
post请求获取参数的方法与get存在区别:request.form.get('参数名称')
请注意:methods的参数可以是多个,当你存在你的api可以同时接收get和post请求时可以使用.
from flask import Flask, jsonify, send_file, request
app = Flask(__name__)
# 无参的get请求
@app.route('/test/post', methods=['POST'])
def post():
参数 = request.form.get('传递参数名')
return 'hello flask'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080, debug=True)
3.post请求案例,生成签名并返回:
import hashlib from flask import Flask, jsonify, send_file, request app = Flask(__name__) # 无参的get请求 @app.route('/sign', methods=['POST']) def sign(): json_string = request.json.get('json_string') if not json_string: return jsonify({'status':False,'error':'参数错误'}) # 调用核心算法,生成sign签名 encrypt_string = json_string+'sad546469879445646' obj = hashlib.md5(encrypt_string .encode('utf-8')) sign = obj.hexdigest() return jsonify({"status":True,'data':sign}) if __name__ == '__main__': app.run(host='0.0.0.0', port=8080, debug=True)