天天看点

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

上回,我们知道了 Flask 是一个 web 轻量级框架,可以在上面做一些扩展,我们还用 Flask 创建了 API,也说到了 REST API,今天咱们来玩一下 Flask-RESTful,体验一下使用它创建 REST API 的顺滑程度。

什么是 Flask-RESTful?

顾名思义,Flask-RESTful 是 Flask 的扩展,为的就是让我们能够轻而易举的创建 REST API,它也可以结合 ORM 层的一些库进行使用。

安装一波吧:

pip install flask-resful 怎么使用 Flask-RESTful?

同样的,我们导入相关的库,创建 app 实例:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

接着可以创建 api 对象,使用它我们可以轻松的去创建 REST API:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

使用它创建一个 API 有多简单呢?

HTTP方法实现

定义一个类,继承 Resource,这样我们在 Resource 上轻松实现各种 HTTP 方法。

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

比如要使用 http 的 GET 方法,就可以这样:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

这里我们将用户请求的 name 参数获取然后返回。

接着我们使用 api 把资源添加进来:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

跑起来试一下吧:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

访问一下:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

是不是很方便?接口直接在方法里面就可以写好,别人都帮我们封装好了。

如果想要使用其它的 HTTP 请求方法,直接在资源类里面定义就可以了,比如在这里使用多个 HTTP 方法:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

测试一下:

调用 put 方法:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP
restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

获取:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

删除:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP
状态码返回

一般接口的请求都会返回一个状态码,在 Flask_RESTful 很简单实现,直接在 return 后面添加就可以了,比如这样:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP
restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP
数据验证

有一些接口我们需要对其中的表单参数数据类型进行验证, Flask_RESTful 内置了一个的库——reqparse。

使用方式和 argparse 很像,像这样:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP
restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

当然,我们对不同对象的操作都可以继承 Resource,从而实现各自的 HTTP 方法,像这样:

restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP

ok,篇幅有限,关于 Flask_RESTful 先介绍到这里吧,希望对你有帮助,那么我们下回继续见,

peace!
restful接口开发实例_Python Flask 开发 web 指南01之创建你的第一个 RESTful APP
关注我 学习 Python 没烦恼