美文网首页
Flask - 01 Flask和RESTful api

Flask - 01 Flask和RESTful api

作者: Lisa_Guo | 来源:发表于2019-11-19 13:21 被阅读0次

一、Flask

1.1 什么是Flask

Web Application Framework(web应用程序框架)或简称 web框架,表示一个库和模块的集合,使Web应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。
Flask是一个用Python编写的Web应用程序框架。 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。

Web Server Gateway Interface(Web服务器网关接口,WSGI)已被用作Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。

Werkzeug是一个WSGI工具包,它实现了请求,响应对象和实用函数。 这使得能够在其上构建web框架。 Flask框架使用Werkzeug作为其基础之一。

jinja2是Python的一个流行的模板引擎。Web模板系统将模板与特定数据源组合以呈现动态网页。

1.2 用Flask构建web服务

如果使用IDEA开发,安装Python的plugin后会自动安装Flask。
若需手动安装,可通过pip安装

pip install flask
pip install jinja2

新建main.py文件

from flask import Flask
from flask import request

app = Flask(__name__)
app.debug = True

@app.route('/hello/', methods=['GET', 'POST'])
def home():
    return '<h1>hello world</h1>'

if __name__ == '__main__':
    app.run()

运行python main.py, Flask就开始在默认端口5000上监听
浏览器输入地址http://localhost:5000/hello/:出现hello world

from flask import Flask
app = Flask(__name__)

@app.route('/hello/<name>')
def hello_name(name):
   return 'Hello %s!' % name

if __name__ == '__main__':
   app.run(debug = True)

浏览器输入http://localhost:5000/hello/lisa;出现Hello lisa

二、RESTful API是什么

REST(英文:Representational State Transfer,简称REST).REST,SOAP,XML-RPC是目前三种主要的web服务交互方式。其中REST更加的简单明了轻量级。
REST的原则是:客服端和服务器之间的交互是无状态的,客户端的每个请求都要包含所有必须信息。服务器端不保存任何客户端信息,客户端可以通过缓存数据改进性能。
随着网络的不断发展,前端设备越来越丰富,需要通过一种更为通用性的通行方式。REST因上面所述的简明特性,且以HTTP协议为基础,所以被广泛使用与前端和后端的交互通信中。

协议
采用http或https协议

数据传输格式
json

资源URI
服务器上每一种资源(如图片、文档、视频、数据、算法等)都由一个通用资源标识符(Uniform Resource Identifier,简称URI)进行定位。 资源URI应该是名词,而非动词。复数则末尾加s
如:/article/, /articles/, 而不能/get_article/

HTTP动作
可以通过以下几种HTTP动词来操作服务器资源

GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。

其中GET和POST为常用操作

通过HTTP动作来获取服务器资源,如:
GET http://www.xxx.com/service/users/ 获取全部用户
POST http://www.xxx.com/service/user/ 提交新用户
GET http://www.xxx.com/service/user/id 获取指定用户
DELETE http://www.xxx.com/service/user/id 删除特定用户


参考文章

  1. 什么是RESTful API
  2. Flask官网
  3. Flask中文网
  4. Flask API

相关文章

网友评论

      本文标题:Flask - 01 Flask和RESTful api

      本文链接:https://www.haomeiwen.com/subject/mwuwictx.html