南昌seo招聘,上海做网站优化的公司,沈阳网站关键词优化哪家好,wordpress编辑页面的颜色本人做为一个测试人员#xff0c;之前也有写过#xff0c;想要测试好接口#xff0c;那必须要知道如何开发一个接口的重要性。 之前也写过通flask或者flask-retful开发接口#xff0c;但那些只是一些最简单的demo#xff0c;不具有很好延展性和扩展性。 此次我们带一整个完…本人做为一个测试人员之前也有写过想要测试好接口那必须要知道如何开发一个接口的重要性。 之前也写过通flask或者flask-retful开发接口但那些只是一些最简单的demo不具有很好延展性和扩展性。 此次我们带一整个完整的demo 使用flask-retfullorm蓝图来让代码更加具有可塑性。 此次我们实现了5个接口当然笔者还在不断的完善中。文末会贴出代码的git地址觉得有用的朋友可以关注一下。 首先看一下我们的代码目录 db:由于运用的是sqlite数据库此处为存放数据库文件。
file:模拟的上传文件的操作凡是通过上传文件接口上传的文件都存在此处。
src:--common : 写一个公共的方法--module: 存放相关蓝图--user : user为本项目的一个蓝图。如有需要可扩展其它蓝图文件只需要在主app中注册该蓝图及可
venv : 本项目的虚拟目录
app :主启动文件
models : 数据库orm
settings 本项目相关设置数据库orm的创建以及flask项目的相关配置蓝图的使用和注册这里不过多的讲我们重点讲一下接口代码的实现方法。 1、查询接口这里主要是根据名字来查询并进行了分页的处理。当不传名字参数时则认为是查询全部数据。 以下是查询使用的orm: stuStudent.query.filter(and_(Student.name name, Student.is_del 0)).paginate(pagepage,per_pagenum)参数讲解name为用户名字page为页数per_page为每页条数。 result []
for s in stu.items:result.append(s.to_json())以上是把查询出来的数据进行遍历并赋值给一个列表以便最后返回。 2、添加接口是根据提交的数据直接把数据插入到数据表中此处需要注意的是所有数据不能为空。 stu Student(namename, sexsex, ageage, gradegrade, sourcesource, faceface)
if name and sex and age and grade and source and face:try:db.session.add(stu)db.session.commit()return make_result()except:return make_result(codeCode.DATA_FAIL)
else:return make_result(codeCode.PARAM_FAIL)3、上传文件接口此处是模拟上传只是把上传的文件保存到了项目的file文件夹下但此处需要注意是定义上传文件参数类型的时候需要导入一个包。 from werkzeug.datastructures import FileStorage 4、删除接口本着不能随意删除数据的原则我们在创建表的时候添加一个is_del字段来确定只条数据是否删除。因此删除接口的本质是把这个字段改为1。 5、修改接口修改接口的是根据表id把数据查询出来然后再根据其要修改的字段来进行修改。原理上和删除接口一样此处需要注意的是修改数据不会所有数据都修改只会修改其中某一条或几条数据我们接口定义的是如果修改才传只参数不修改则不传因此 stu Student.query.filter(Student.id id).first()if stu:if name or sex or age or grade or source or face:if name:stu.name nameif sex:stu.sex sexif age:stu.age ageif grade:stu.grade gradeif source:stu.source sourceif face:stu.face facedb.session.add(stu) 有些参数就修改无则不修改。 最后需要说明一点因为我们写的rest风格的接口因此返回的数据应该是json格式的因此我们在创建Orm数库表时创建了一个to_json()方法以供使用。 def to_json(self):return {id: self.id,name: self.name,sex: self.sex,age: self.age,grade: self.grade,source: self.source,face: self.face,is_del: self.is_del} 以上就是我们所实现的全部接口。 git址址https://github.com/gfihdx/flask-restful.git 有兴趣的可以去git clone一下并关注后期更新。 下次更新目标多表的联合查询及查询数据的格式化方法优化。 注虽然文章拙劣但转载请注明出处。转载于:https://www.cnblogs.com/Alin-2016/p/11065322.html