内容简介:看过此博客,你将会发现,Python基于Flask开发Restful API,超级简单(本人用力2个多小时搞定此博客)。Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug,Python Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。WSGI 工具包,它可以作为一个 Web
看过此博客,你将会发现,Python基于Flask开发Restful API,超级简单(本人用力2个多小时搞定此博客)。
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug,Python Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等。
Flask官网地址为: http://flask.pocoo.org/ 。Python直接使用pip install命令就可以安装到Python集成环境中。
D:\Python\Python36>pip install flask Collecting flask Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB) 100% |████████████████████████████████| 92kB 88kB/s Collecting click>=5.1 (from flask) Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB) 100% |████████████████████████████████| 71kB 123kB/s Collecting Werkzeug>=0.14 (from flask) Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB) 100% |████████████████████████████████| 327kB 75kB/s Collecting itsdangerous>=0.24 (from flask) Downloading https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz (46kB) 100% |████████████████████████████████| 51kB 67kB/s Collecting Jinja2>=2.10 (from flask) Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB) 100% |████████████████████████████████| 133kB 41kB/s Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask) Downloading https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz Installing collected packages: click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask Running setup.py install for itsdangerous ... done Running setup.py install for MarkupSafe ... done Successfully installed Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 flask-1.0.2 itsdangerous-0.24 You are using pip version 9.0.1, however version 10.0.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.
首先,我们先快速构建个Web服务,打开一个Python文件,输入下面的内容并运行该文件。然后访问localhost:5000,我们应当可以看到浏览器上输出了Hello Flask!。
基于Eclipse开发环境,新建TestFlaskHello.py文件,粘贴Flask官网主页中的示例代码。
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello Flask!' if __name__ == '__main__': app.run()
在浏览器中输入 http://localhost:5000/
,将会出现如下结果。
第一个Restful API,如此简单,详见示例代码:
from flask import Flask, jsonify app = Flask(__name__) tasks = [ { 'id': 1, 'title': u'Buy groceries', 'description': u'Milk, Cheese, Pizza, Fruit, Tylenol', 'done': False }, { 'id': 2, 'title': u'Learn Python', 'description': u'Need to find a good Python tutorial on the web', 'done': False } ] @app.route('/todo/api/v1.0/tasks', methods=['GET']) def get_tasks(): return jsonify({'tasks': tasks}) if __name__ == '__main__': app.run(debug=True)
运行结果如下:
我们现在拥有一个 get_tasks 的函数,访问的 URI 为 /todo/api/v1.0/tasks,并且只允许 GET 的 HTTP 方法。
这个函数的响应不是文本,我们使用 JSON 数据格式来响应,Flask 的 jsonify 函数从我们的数据结构中生成。
使用Postman的Chrome插件,测试Rest API,效果如下:
总结本文内容:
(1)通过pip install flask命令安装Flask;
(2)基于Eclipse(老 Java 开发人员的爱好),按Flask官网示例,实践第一个Web应用-Helloworld;
(3)实践第一个Restful API,URI 为 /todo/api/v1.0/tasks;
(4)使用Postman插件,测试Rest API。
是不是很简单,不妨试一试。
附:Postman插件的安装。选择Chrome应用商店中的“Tabbed Postman - REST Client”扩展程序,添加到Chrome上。
参考:
《Flask 快速入门》 CSDN博客 过了即是客 2017年4月
《使用 Python 和 Flask 设计 RESTful API》 Python 中文学习大本营
《Python入门学习(一),安装Eclipse开发环境》 CSDN博客 肖永威 2017年12月
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。