博主今天把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)的更多相关文章

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

    今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 ...

  2. 分享一个开源免费、目前最好的API接口管理平台----eoLinker

    一.概况 eoLinker 是目前业内领先.国内最大的在线 API 接口管理平台,提供自动生成 API 文档.API 自动化测试.Mock 测试.团队协作等功能,旨在解决由于前后端分离导致的开发效率低 ...

  3. Web开发Flask框架学习笔记

    Python 是一种跨平台的[计算机程序设计语言],是一种面向对象的动态类型语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public Lice ...

  4. Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0

    以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基于先前的工作经验,决定用较新版本的技术来 ...

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

    本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...

  6. 这份接口管理平台 eoLinker 开源版的部署指南教程你一定不想错过

    本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...

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

    前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...

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

    前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...

  9. [接口管理平台] eoLinker AMS 专业版 V3.5 :加入数据结构管理、通用函数管理、API 快速测试等近 30 项更新

    eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台.目前eoLinker AMS已经为来自全球的超过两万家企业托管超 ...

随机推荐

  1. IOS开发-UI基础-视图

    //------------------------------UIWindow--------------------------// 1.UIWindow:是 UIView 的子类,用于管理.协调 ...

  2. C# .net 最大HTTP连接数

    说明:本WCF程序收到请求时会对外HTTP请求. 桌面系统默认是2个,如果是SERVER,默认是10个,超过10个就会排队,当有大量向外请求时,很多对外请求就会超时.排队的HTTP请求超时仍在计时. ...

  3. 剑指offer系列45---和为s的两个数字

    [题目]输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, package com.exe9.offer; /** * [题目]输入一个递增排序的数组和一个数字S,在数组中 ...

  4. php返回状态200或者300的写法

    header("HTTP/1.0 200 OK"); phpinfo(); header("HTTP/1.0 300 OK"); phpinfo();

  5. Linux下做软RAID

    1.查看有多少块硬盘可用#fdisk -l嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid. 2.决定做什么类型的raid.raid-0.raid-1.raid-5?如 ...

  6. 347. Top K Frequent Elements

    Given a non-empty array of integers, return the k most frequent elements. For example,Given [1,1,1,2 ...

  7. POJ-3461 Oulipo(KMP,模式串在主串中出现次数)

    题意:给你两个字符串p和s,求出p在s中出现的次数. 显然,我们要先把模式串放到前面,之后主串放后面,中间隔开,这样就可以根据前缀数组的性质来求了. 我先想直接把p接到s前面,之后求Next数组对st ...

  8. vim 上下左右变成ABCD 解决办法

    一.缘由 一次发现VIM编辑文件,发现上下左右键变输入ABCD.猜测vimrc没设置好. 二.解决办法: ls -l /etc/ |grep vim,发现有两个结果vimrc.rpmnew,vimrc ...

  9. RocketMQ术语[转]

    RocketMQ RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点:能够保证严格的消息顺序 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 ...

  10. MYSQL中replace into的用法以及与inset into的区别

    在向表中插入数据时,我们经常会遇到这样的情况:1.首先判断数据是否存在:2.如果不存在,则插入:3.如果存在,则更新. 在SQL Server中可以这样处理: if not exists (selec ...