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获取数据的功能了。
上几张成功的图。



Flask-RESTful接口开发学习笔记一:实现简单的GET请求的更多相关文章
- Python flask模块接口开发学习总结
引言 Flask 是一个简单且十分强大的Python web 框架.它被称为微框架,“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩 ...
- Rest API 开发 学习笔记(转)
Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...
- Kinect开发学习笔记之(一)Kinect介绍和应用
Kinect开发学习笔记之(一)Kinect介绍和应用 zouxy09@qq.com http://blog.csdn.net/zouxy09 一.Kinect简单介绍 Kinectfor Xbox ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- 转载:使用Xilinx IP核进行PCIE开发学习笔记(一)简介篇
https://zhuanlan.zhihu.com/p/32786076 最近接触到一个项目,需要使用PCIE协议,项目要求完成一个pcie板卡,最终可以通过电脑进行通信,完成电脑发送的指令.这当中 ...
- 【前端】移动端Web开发学习笔记【2】 & flex布局
上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...
- 【前端】移动端Web开发学习笔记【1】
下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...
- 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址
驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
随机推荐
- 常用的一些js和css
/*给一组li里面写入12345.....*/ $("li").html(function(idx){ return idx+1; }) css限制文字字数: white-spac ...
- mybatis中resultType和resultMap的联系
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 比如,我们平时使用的单表查 ...
- 业余草推荐18个Java开源免费的CMS系统
1.InfoGlue infoglue是一个高级的.可扩展的.健壮的内容管理系统,完全用Java开发.重要的功能包括完全支持多语言,站点之间良好的重用,以及广泛的集成能力. 该项目主页:http:// ...
- [Open Source] .NET 基于StackExchange.Redis的扩展
目录 简介 主从复制 备份与恢复 API AddOrUpdate GetOrAdd DeleteByPattern SearchKeys TransExcute Subscribe/Publish T ...
- 处理SFTP服务器上已离职用户,设置为登录禁用状态
测试用户禁用SQL select Enabled,LoginID from suusers where LoginID = 'yangwl' update suusers set Enabled=1 ...
- tensorflow 实现神经网络
import tensorflow as tf import numpy as np # 添加层 def add_layer(inputs, in_size, out_size, activation ...
- 快速搞定selenium grid分布式
写这篇文章,似乎有点重复造轮子的嫌疑.当看了几篇相关文章后,我还是决定把半年前的半成品给完成了. 以传统的方式部署分布式Selenium Grid集群需要耗费大量时间和机器成本来准备测试环境. Sna ...
- 初探JavaScript的截图实现
最近参与了网易炉石盒子的相关页面开发,在做卡组分享页(地址:炉石盒子卡组分享),有个需求:用户可以把这个卡组以图片的形式分享给好友.最初的的做法是使用服务器把该页面转换成图片,然后把图片地址返回给前端 ...
- 机器学习(4)Hoeffding Inequality--界定概率边界
问题 假设空间的样本复杂度(sample complexity):随着问题规模的增长导致所需训练样本的增长称为sample complexity. 实际情况中,最有可能限制学习器成功的因素是训练数据的 ...
- Mybatis Dynamic Query 框架整合
项目地址:https://github.com/wz2cool/mybatis-dynamic-query 文档地址:https://wz2cool.gitbooks.io/mybatis-dynam ...