Flask框架学习笔记(API接口管理平台 V2.0)
博主今天把API接口管理平台发布到github了,这次是更新一些功能
如支持本地数据库sqlite3、优化了数据结构
技术方面跟之前V1.0相同,只增加生产本地数据;但是为了支持层级的参数,修改了数据结构,下面是新的model.py
#!/usr/bin/env python
# -*- coding: utf-8 -*- from app import db class User(db.Model):
user_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
user_name = db.Column(db.String(64))
password = db.Column(db.String(64))
status = db.Column(db.Integer)
level = db.Column(db.Integer) class Model(db.Model):
model_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
model_name = db.Column(db.String(256))
status = db.Column(db.Integer)
# 项目分类ID、名称、状态 class Interface(db.Model):
interface_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
model_id = db.Column(db.Integer, db.ForeignKey("model.model_id"))
interface_name = db.Column(db.String(64))
interface_url = db.Column(db.String(1024))
interface_method = db.Column(db.String(64))
request_exam = db.Column(db.String(4096))
response_exam = db.Column(db.String(4096))
status = db.Column(db.Integer)
# 接口信息 class Parameter(db.Model):
parameter_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
interface_id = db.Column(db.Integer, db.ForeignKey("interface.interface_id"))
parameter_type = db.Column(db.String(64))
parameter_group_id = db.Column(db.Integer)
parameter_name = db.Column(db.String(64))
necessary = db.Column(db.String(64))
type = db.Column(db.String(64))
default = db.Column(db.String(64))
remark = db.Column(db.String(64))
level = db.Column(db.String(64))
# 参数信息
然后是根据定义好的结构重新定义表单字段 forms.py
#!/usr/bin/env python
# -*- coding: utf-8 -*- from flask_wtf import Form
from wtforms import StringField, TextField, PasswordField, FormField, SubmitField, FieldList, IntegerField
from wtforms.validators import Required, DataRequired class LoginForm(Form):
username = StringField("登陆名", validators=[Required()])
password = PasswordField("密码", validators=[Required()]) class ModelForm(Form):
model_name = StringField("中文名称", validators=[Required()]) class InterfaceForm(Form):
interface_name = StringField("接口名称", validators=[Required()])
interface_url = StringField("接口地址", validators=[Required()])
interface_method = StringField("接口方法", validators=[Required()])
request_exam = TextField("请求示例", validators=[Required()])
response_exam = TextField("返回示例", validators=[Required()]) class ParameterRequestForm(Form):
parameter_group_id = StringField("从属", validators=[Required()])
parameter_name = StringField("参数名称", validators=[Required()])
necessary = StringField("是否必须", validators=[Required()])
type = StringField("类型", validators=[Required()])
default = StringField("默认值", validators=[Required()])
remark = StringField("备注", validators=[Required()])
level = StringField("层级", validators=[Required()]) class ParameterResponseForm(Form):
parameter_group_id = StringField("从属", validators=[Required()])
parameter_name = StringField("参数名称", validators=[Required()])
necessary = StringField("是否必须", validators=[Required()])
type = StringField("类型", validators=[Required()])
default = StringField("示例", validators=[Required()])
remark = StringField("描述", validators=[Required()])
level = StringField("层级", validators=[Required()]) class SubmitForm(Form):
submit = SubmitField("保存")
关系总结就是 项目分类下有接口、接口中有参数、参数又分为 请求参数;返回参数
还增加了后台管理:
github地址:https://github.com/cllovewxq/pythonapi
这边博主没有把用户管理完成、还有使用项目过程中有用户密码的话就用:admin/123456
Flask框架学习笔记(API接口管理平台 V2.0)的更多相关文章
- Flask框架学习笔记(API接口管理平台 V1.0)
今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 ...
- 分享一个开源免费、目前最好的API接口管理平台----eoLinker
一.概况 eoLinker 是目前业内领先.国内最大的在线 API 接口管理平台,提供自动生成 API 文档.API 自动化测试.Mock 测试.团队协作等功能,旨在解决由于前后端分离导致的开发效率低 ...
- Web开发Flask框架学习笔记
Python 是一种跨平台的[计算机程序设计语言],是一种面向对象的动态类型语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public Lice ...
- Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0
以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基于先前的工作经验,决定用较新版本的技术来 ...
- 这个接口管理平台 eoLinker 开源版部署指南你一定不想错过
本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...
- 这份接口管理平台 eoLinker 开源版的部署指南教程你一定不想错过
本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...
- JavaSE中线程与并行API框架学习笔记1——线程是什么?
前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...
- JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?
前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...
- [接口管理平台] eoLinker AMS 专业版 V3.5 :加入数据结构管理、通用函数管理、API 快速测试等近 30 项更新
eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台.目前eoLinker AMS已经为来自全球的超过两万家企业托管超 ...
随机推荐
- 动态SQL之标签
本节主要讲了动态SQL的几个标签:where set trim where: 检出where语句的最前面是否含有AND和一个空格 或者 or和一个空格 ,如果有的话删除 set: 检出set的最后是否 ...
- DHCP协议讲解
一.DHCP服务介绍: DHCP为动态主机配置协议,该协议能自动配置主机的IP地址.子网掩码.网关及DNS服务器等TCP/IP信息.DHCP可以降低客户机IP地址配置的复杂度和网络管理成本. DHCP ...
- gcc链接参数--whole-archive的作用
// a.h extern void foo(); // a.cpp #include <stdio.h> void foo() { printf("foo\n"); ...
- BEvent_客制化Event Agent通道(案例)(待整理)
2014-09-09 Created By BaoXinjian
- hdu 1532 Dinic模板(小白书)
hdu1532 输入n,m. n条边,m个点,之后给出a到b的容量,求1到m的最大流. 注意:Dinic只能调用一次,因为原理是改变cap的值,如果调用多次一样的,那么第一次会对,其余的都会是0,因为 ...
- python(19)编码问题
转载链接:http://blog.csdn.net/lxdcyh/article/details/4018054 python的编码问题,一直都让人很头疼,今天就整理下python的编码知识. 首先: ...
- mysql西文字符大小写重复键问题的解决方法
ä和a插入到唯一键时总提示重复 总提示:Duplicate entry 'a' for key 'name' 后来发现我用的COLLATE是utf8_general_ci,改为utf8_bin即可,命 ...
- 图片_ _Android--加载大分辨率图片到内存
http://www.cnblogs.com/plokmju/p/android_LoadBigImage.html#3084005 前言 在使用ImageView显示图片的时候,直接加载一个图片资源 ...
- JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)
1.数组创建及初始化 var obj=new Array(); var arr=[]; 可以延伸为长度一定的,字面量定义数组 2.堆栈 按值传递 引用类型 数组是引用类型,不是值传递, 栈:系桶自动分 ...
- mongoDB索引使用
for(var i=0;i<10000;i++){ db.user.insert({name:"user"+i,age:i}) }添加这么多数据 db.user.find({ ...