Flask快速实现简单python接口

  Flask 是一个轻量级 web 框架,自由、灵活、可扩展性强。Flask 本身相当于一个内核,大部分功能都需要扩展第三方库。 Flask 框架有多“轻量”呢,之前写过一篇 Django实现restful api 的文章,基于 Django 框架实现的,有兴趣的同学可以做下比较。在实现简单的 api 方面, Flask 框架只需一个 .py 文件就能搞定,很简洁很优雅。

 

 1.安装 Flask

 

 pip3 install flask

 

 

2.看下 Flask 项目目录,很简洁吧!本文不涉及 web 前端,只实现 API ,所以不讲解 static 和 templates 。

Flask快速实现简单python接口_第1张图片

 

 3.一个简单、优雅的例子:

from flask import Flask
from flask import request
import json

app = Flask(__name__)


@app.route('/',methods=['GET'])
def hello_world():
    return 'Hello World!'

# 设置访问URL:'/plus',methods:允许哪种方式访问
@app.route('/plus',methods=['POST'])
def plus():
    data = json.loads(request.data.decode())
    x = data['x']
    y = data['y']

    return json.dumps(x+y)


if __name__ == '__main__':
    # 设置host,端口8080。threaded=True 代表开启多线程
    app.run(host='0.0.0.0', port=8080, threaded=True)

 Flask 通过 @app.route 装饰器来配置路由和请求方式,request.data 接收 post 请求参数,因为接收到的是字节流,需要 decode() 解码再转成 json 格式。Flask 可以设置 run() 参数开启 多线程(threaded=True) 和 多进程(processes=4),但如果要上生产环境,还是得用 Nginx 或 Apache 部署,提高性能。

 

 1)运行命令 python app.py ,然后浏览器输入:http://127.0.0.1:8080/

Flask快速实现简单python接口_第2张图片

 2)测试脚本:

import requests
url = 'http://127.0.0.1:8080/plus'

h = requests.post(url=url,json={"x":2,"y":3})
print(h.text)

输出:

Flask快速实现简单python接口_第3张图片

 

测试OK

你可能感兴趣的:(Flask快速实现简单python接口)