Flask-RESTful接口开发学习笔记一:实现简单的GET请求
1、首先安装需要依赖的第三方包:
(1):Flask
(2):Flask-RESTful
如何安装就不在啰嗦,pip也好,下载到本地再安装也好,看你随意。
2、我们先实现GET请求。
Q:什么是GET请求。
A:简单来说,GET请求,就是根据传过来的参数条件,来获取服务端的数据信息,不会改变服务端的数据。更直接的,GET请求,拼成链接直接浏览器就可以访问。
3、接下来实现我们的GET请求。
(1):首先导包,并实例化对像:
from flask import Flask, jsonify from flask.ext.restful import reqparse, Api, Resource app = Flask(__name__) app.debug = True api = Api(app)
(2):模拟创建一些我们需要的数据。
students = { 1: {'name': 'lily', 'age': '22'}, 2: {'name': 'jerry', 'age': '23'}, 3: {'name': 'joe', 'age': '34'} }
(3):接下来创建parser对像,解释一下:它是提供简单并且统一的访问 Flask 中flask.request
对象里的任何变量的入口
parser = reqparse.RequestParser() parser.add_argument('id', type=int, required=True, help='ID不能为空。')
上面第二行代码解释一下:他是给我们的ID加上了一些限制条件,type是类型,required是指他不能为空,help是如果出现了限制条件之外的,则返回这个提示。
(4):请求方法:
class get_stu(Resource): def get(self): data= parser.parse_args() id = data.get('id') if id == 0: return jsonify(students) if id > max(students.keys()): return jsonify({'msg': 'ID超出范围'}) return jsonify(students.get(id))
请求的类需要继承Resource,定义一个get的方法,则是指get请求,data是去获取前端传过来的数据,为什么用这样的方式获取,前文已经说明。我们这里定义了,如果id为0,则返回所有的学习,如果id超过了范围,则给与相应的提示。如果id为某学生id,则返回该学生的信息。
(5):添加路径与运行:
api.add_resource(get_stu, '/get/stu/') if __name__ == '__main__': app.run(host='192.168.1.154', port=1234)
直接运行,就可以查实现我们的GET获取数据的功能了。
上几张成功的图。