Flask框架学习笔记(API接口管理平台 V2.0)

博主今天把API接口管理平台发布到github了,这次是更新一些功能

如支持本地数据库sqlite3、优化了数据结构

技术方面跟之前V1.0相同,只增加生产本地数据;但是为了支持层级的参数,修改了数据结构,下面是新的model.py

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3
 4 from app import db
 5
 6
 7 class User(db.Model):
 8     user_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
 9     user_name = db.Column(db.String(64))
10     password = db.Column(db.String(64))
11     status = db.Column(db.Integer)
12     level = db.Column(db.Integer)
13
14
15 class Model(db.Model):
16     model_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
17     model_name = db.Column(db.String(256))
18     status = db.Column(db.Integer)
19     # 项目分类ID、名称、状态
20
21
22 class Interface(db.Model):
23     interface_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
24     model_id = db.Column(db.Integer, db.ForeignKey("model.model_id"))
25     interface_name = db.Column(db.String(64))
26     interface_url = db.Column(db.String(1024))
27     interface_method = db.Column(db.String(64))
28     request_exam = db.Column(db.String(4096))
29     response_exam = db.Column(db.String(4096))
30     status = db.Column(db.Integer)
31     # 接口信息
32
33
34 class Parameter(db.Model):
35     parameter_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
36     interface_id = db.Column(db.Integer, db.ForeignKey("interface.interface_id"))
37     parameter_type = db.Column(db.String(64))
38     parameter_group_id = db.Column(db.Integer)
39     parameter_name = db.Column(db.String(64))
40     necessary = db.Column(db.String(64))
41     type = db.Column(db.String(64))
42     default = db.Column(db.String(64))
43     remark = db.Column(db.String(64))
44     level = db.Column(db.String(64))
45     # 参数信息

然后是根据定义好的结构重新定义表单字段 forms.py

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3
 4 from flask_wtf import Form
 5 from wtforms import StringField, TextField, PasswordField, FormField, SubmitField, FieldList, IntegerField
 6 from wtforms.validators import Required, DataRequired
 7
 8
 9 class LoginForm(Form):
10     username = StringField("登陆名", validators=[Required()])
11     password = PasswordField("密码", validators=[Required()])
12
13
14 class ModelForm(Form):
15     model_name = StringField("中文名称", validators=[Required()])
16
17
18 class InterfaceForm(Form):
19     interface_name = StringField("接口名称", validators=[Required()])
20     interface_url = StringField("接口地址", validators=[Required()])
21     interface_method = StringField("接口方法", validators=[Required()])
22     request_exam = TextField("请求示例", validators=[Required()])
23     response_exam = TextField("返回示例", validators=[Required()])
24
25
26 class ParameterRequestForm(Form):
27     parameter_group_id = StringField("从属", validators=[Required()])
28     parameter_name = StringField("参数名称", validators=[Required()])
29     necessary = StringField("是否必须", validators=[Required()])
30     type = StringField("类型", validators=[Required()])
31     default = StringField("默认值", validators=[Required()])
32     remark = StringField("备注", validators=[Required()])
33     level = StringField("层级", validators=[Required()])
34
35
36 class ParameterResponseForm(Form):
37     parameter_group_id = StringField("从属", validators=[Required()])
38     parameter_name = StringField("参数名称", validators=[Required()])
39     necessary = StringField("是否必须", validators=[Required()])
40     type = StringField("类型", validators=[Required()])
41     default = StringField("示例", validators=[Required()])
42     remark = StringField("描述", validators=[Required()])
43     level = StringField("层级", validators=[Required()])
44
45
46 class SubmitForm(Form):
47     submit = SubmitField("保存")

关系总结就是 项目分类下有接口、接口中有参数、参数又分为 请求参数;返回参数

还增加了后台管理:

github地址:https://github.com/cllovewxq/pythonapi

这边博主没有把用户管理完成、还有使用项目过程中有用户密码的话就用:admin/123456

时间: 2024-09-29 03:36:45

Flask框架学习笔记(API接口管理平台 V2.0)的相关文章

基于python的API接口管理平台开发(V1.0)

今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 二期要加入登录退出,后台管理 下面是文档结构图 涉及的python第三方模块:flask.flask-bootstrap.sqlalchemy 整体页面的布局:页头的导航,右侧的API分类,页面信息 页面信息内容包括:接口说明,请求参数,返回参数,请求示例,返回示例 下面是定义数据库对象的mode

前后端开发过程中API接口管理有哪些痛点?附几种解决方案

一.API管理的痛点 API接口在设计时往往需要编写大量的文档,而且编写完成之后还会经常改动,文档编写维护工作量大. 接口文档编写好后,实际的代码可能会与文档有出入,这个时候文档是不准确的,文档与代码保持修改同步也是一个很大的工作量.随着接口版本的迭代,接口文档需要同步更新.有些时候接口会成为对接双方的开发进度瓶颈,因为接口调用会有依赖,类似app的项目,前端会需要调用后端接口,接口功能不实现会影响前端开发进度.接口开发完以后,做接口测试不方便,特别是接口数量多,参数复杂的情况,测试工作量大.接

这个接口管理平台 eoLinker 开源版部署指南你一定不想错过

本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / Apache 4.项目目录需要具有完全的读写权限(777),用于写入配置文件.安装完成之后可以设置另外设置目录权限 5.PHP需要安装并启用mbstring以及curl模块,用于字符串处理以及接口测试功能 注意事项 1.3.x版本与2.x版本并不兼容,因此无法直接由2.x升级到3.x,也无法通过覆盖代

JavaSE中线程与并行API框架学习笔记1——线程是什么?

前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位很可能有更高的技术要求.除了干巴巴地翻书,我们可以通过两个方式来解决这个问题:一是做业余项目,例如在github上传自己的demo,可以实际使用:二是把自己的学习心得写成博客,跟同行们互相交流. 3.1 线程的初窥门径 我们在之前的文章里提到的程序其实都是单线程程序,也就说启动的程序从main()程

JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?

前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事.当然,在学校里考试之前当然要把所有内容学一遍和复习一遍.但是,到了社会里做事,很多时候都是边做边学.应聘如此,工作如此,很多的挑战都是如此.没办法,硬着头皮上吧. 3.5 线程的分组管理 在实际的开发过程当中,可能会有多个线程同时存在,这对批量处理有了需求.这就有点像用迅雷下载电视剧,假设你在同时

Java集合框架学习笔记之集合与Collection API

一.CollectionAPI 集合是一系列对象的聚集(Collection).集合在程序设计中是一种重要的数据接口.Java中提供了有关集合的类库称为CollectionAPI. 集合实际上是用一个对象代表一组对象,在集合中的每个对象称为一个元素.在集合中的各个元素的具体类型可以不同,但一般说来,它们都是由相同的类派生出来的(而这一点并不难做到,因为Java中的所有类都是Object的子类).在从集合中检索出各个元素是,常常要根据其具体类型不同而进行相应的强制类型转换. Collection

JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关

JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和ArrayList.HashSet.LinkedList等等.根据核心框架图,相信我们都已经对Collection这个JavaSE中最常用API之一有一个较为全面的认识. 这个学习过程,还可以推及到其他常用开源框架和公司项目的学习和熟悉上面.借助开发工具或说明文档,先是对项目整体有一个宏观的认识,再根

j2ee开发之Spring2.5框架学习笔记

Spring 2.5框架学习笔记 1.是一个开源的控制反转IOC和面向切面AOP的容器框架 2.IOC控制反转 public class PersonServiceBean { private PersonDao personDao = new PersonDao(); publiv void save(Person person){ personDao.save(person); } } 控制反转:应用本身不负责依赖对象personDao的创建以及维护,依赖对象的创建以及维护是由外部容器负责的