基于spring boot实现接口管理平台

数据库结构

/*
Navicat MySQL Data TransferSource Server         : localhost_3306
Source Server Version : 50724
Source Host           : localhost:3306
Source Database       : interfaceTarget Server Type    : MYSQL
Target Server Version : 50724
File Encoding         : 65001Date: 2024-03-18 12:32:48
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for interface
-- ----------------------------
DROP TABLE IF EXISTS `interface`;
CREATE TABLE `interface` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) NOT NULL,`type` varchar(255) DEFAULT NULL,`path` varchar(255) DEFAULT NULL COMMENT '接口的访问路径',`status` int(11) NOT NULL DEFAULT '0' COMMENT '接口的完成状态:1:完成  0:未完成',`group_id` int(11) NOT NULL,PRIMARY KEY (`id`),KEY `group_id` (`group_id`),CONSTRAINT `interface_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `interface_group` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- ----------------------------
-- Table structure for interface_detail
-- ----------------------------
DROP TABLE IF EXISTS `interface_detail`;
CREATE TABLE `interface_detail` (`id` int(11) NOT NULL,`update_time` datetime DEFAULT NULL,`update_id` int(11) DEFAULT NULL,`create_time` datetime DEFAULT NULL,`create_id` int(11) DEFAULT NULL,`describe` varchar(255) DEFAULT NULL,`heads` varchar(255) DEFAULT NULL,`body` varchar(255) DEFAULT NULL COMMENT '存储请求参数,格式为转化为json字符串的List<myInterface>',`query` varchar(255) DEFAULT NULL,`return_value` varchar(255) DEFAULT NULL,`interface_id` int(11) NOT NULL,PRIMARY KEY (`id`),KEY `interface_id` (`interface_id`),CONSTRAINT `interface_detail_ibfk_1` FOREIGN KEY (`interface_id`) REFERENCES `interface` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- ----------------------------
-- Table structure for interface_group
-- ----------------------------
DROP TABLE IF EXISTS `interface_group`;
CREATE TABLE `interface_group` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`describe` varchar(255) DEFAULT NULL,`project_id` int(11) NOT NULL,PRIMARY KEY (`id`),KEY `project_id` (`project_id`),CONSTRAINT `interface_group_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- ----------------------------
-- Table structure for project
-- ----------------------------
DROP TABLE IF EXISTS `project`;
CREATE TABLE `project` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL COMMENT '项目名称',`user_id` varchar(255) DEFAULT NULL COMMENT '使用json字符串来储存一个list<Integer>,来储存项目的管理员id',`user_ids` varchar(255) DEFAULT NULL COMMENT '使用json字符串来储存一个list<Integer>,来储存项目的组员id',`describe` varchar(255) DEFAULT NULL COMMENT '项目的描述信息',`token` varchar(255) NOT NULL COMMENT '项目唯一标识码',PRIMARY KEY (`id`),UNIQUE KEY `token` (`token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(255) NOT NULL,`password` varchar(255) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

user表

project 表

interface_group表

interface表 

 

interface_detail表

 项目准备工作

项目架构

项目依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.9.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>cn.itcast.demo</groupId><artifactId>hotel-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>hotel-demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><elasticsearch.version>7.12.1</elasticsearch.version></properties><dependencies><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!--FastJson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.71</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.9.RELEASE</version><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

 实体类准备

 User:

/*** 用户*/
@Data
public class User {private Integer id;//用户idprivate String username;//用户账号private String password;//用户密码
}

Project:

/*** 项目信息*/
@Data
public class Project {private Integer id;//项目idprivate String name;//项目名称private String userId;//管理项目的用户id,实际上是一个json字符串存储了List<Integer>private String userIds;//组员id,实际上是一个json字符串存储了List<Integer>private String describe;//项目描述private String token;//项目唯一标识码,用来加入项目
}

InterfaceGroup  

/*** 接口分组*/
@Data
public class InterfaceGroup {private Integer id;//接口组idprivate String name;//接口分组名称private String describe;//接口分钟描述private Integer projectId;//所属项目id
}

 MyInterface 

/*** 接口*/
@Data
public class MyInterface {private Integer id;//接口idprivate String name;//接口名称private String type;//请求类型private String path;//接口路径private Integer status;//接口完成状态 1:完成 0 :未完成private Integer groupId;//接口所属组别id
}

 InterfaceDetail 

*** 接口详细id*/
@Data
public class InterfaceDetail {private Integer id;//接口详细idprivate String describe;//描述private String heads;//请求头参数,实际为json字符串,储存list<interfaceParm>private String body;//请求体参数,实际为json字符串private String query;//请求路径参数,实际为json字符串private String returnValue;//返回数据格式,实际为json字符串private LocalDateTime createTime;//接口创建时间private LocalDateTime updateTime;//接口更新时间private Integer createId;//接口创建人idprivate Integer updateId;//接口跟新人idprivate Integer integerId;//所属接口id
}

 interfaceParam 

/*** 请求参数*/
public class interfaceParam {private String name;//参数名称private String type;//参数类型private String status;//是否为必须参数 1:必须 0:非必须private String description;//参数描述
}

枚举类准备 

RequestType 

/*** 请求类型*/
public enum RequestType {POST,GET,DELETE,PUT,
}

 ParamType 

/*** 请求参数类型*/
public enum ParamType {STRING,NUMBER,ARRAY,OBJECT,INTEGER,BOOLEAN
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android14之HIDL报错:Invalid sparse file format at header magic(一百九十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

学习笔记Day8:GEO数据挖掘-基因表达芯片

GEO数据挖掘 数据库&#xff1a;GEO、NHANCE、TCGA、ICGC、CCLE、SEER等 数据类型&#xff1a;基因表达芯片、转录组、单细胞、突变、甲基化、拷贝数变异等等 常见图表 表达矩阵 一行为一个基因&#xff0c;一列为一个样本&#xff0c;内容是基因表达量。 热图 输入数据…

Java语言: JVM

1.1 内存管理 1.1.1 JVM内存区域 编号 名字 功能 备注 1 堆 主要用于存放新创建的对象 (所有对象都在这里分配内存) jdk1.8之后永久代被替换成为了元空间&#xff08;Metaspace&#xff09; 2 方法区(加、常、静、即) 被虚拟机加载的类信息(版本、字段、方法、接口…

Git——GitHub远端协作详解

目录 Git&GitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一&#xff1a;先拉再推3.3…

孙溟㠭于北京大学北大书店现场创作

孙溟㠭于北京大学北大书店现场创作篆刻作品 孙溟㠭北大书店现场创作 孙溟㠭于北京大学北大书店展览期间现场创作 孙溟㠭北京大学篆刻展现场创作 图文/氿波

Nadaraya-Watson核回归

目录 基本原理 ​编辑 核函数的选择 带宽的选择 特点 应用 与注意力机制的关系 参考内容 在统计学中&#xff0c;核回归是一种估计随机变量的条件期望的非参数技术。目标是找到一对随机变量 X 和 Y 之间的非线性关系。 在任何非参数回归中&#xff0c;变量 Y 相对于变量…

【c++】c++基本语法知识-命名空间-输入输出-缺省参数

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;c_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.命名空间 1.2 命名空间定义 1.3 命名空间使用 命名空间的三种使用方式 2.C输入&输出 std命名空间的使用惯例 3.缺省参数 3…

linux scp 免密传输配置 案例

目录 说明准备实现结果步骤生成RSA公钥和私钥查看密钥生成结果将公钥传输到目标服务器 额外内容自动备份文件脚本定时删除备份文件 说明 日常工作中常常会使用到ssh 的scp命令进行文件传输。有时候甚至使用自定义的脚本配合定时任务来对文件进行异地备份&#xff0c;那么此时就…

【Qt】常用控件(按钮/单选按钮/复选按钮/QLabel)

需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 一、按钮类控件 1、QPushButton(按钮) 1.1pushButtn中插入图片(void setIcon(const QIcon &icon);) 1.2给按钮插…

Java 学习和实践笔记(40):String类详解

示例代码&#xff1a; public class TestString {public static void main(String[] args) {String s0 null;//这是什么都没有&#xff0c;连对象都没有&#xff0c;也就是指针还没有指到某一个地址String s1 "";//这是有对象了&#xff08;指针已指向某一个地址了…

如何使用 ArcGIS Pro 生成TIN

三角网是一种常用于表示地表地形的数字地球模型&#xff08;DEM&#xff09;方式&#xff0c;我们可以通过 ArcGIS Pro 将等高线和高程点转换为TIN&#xff0c;这里为大家介绍一下转换方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的高…

智能合约 - 部署ERC20

Remix介绍 Remix是一个由以太坊社区开发的在线集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在帮助开发者编写、测试和部署以太坊智能合约。它提供了一个简单易用的界面&#xff0c;使得开发者可以在浏览器中直接进行智能合约的开发&#xff0c;而无需安装任何额外的…

springboot整合springsecurity,从数据库中认证

概述&#xff1a;springsecurity这个东西太容易忘了&#xff0c;这里写点东西&#xff0c;避免忘掉 目录 第一步&#xff1a;引入依赖 第二步&#xff1a;创建user表 第三步&#xff1a;创建一个用户实体类&#xff08;User&#xff09;和一个用于访问用户数据的Repository…

Transformer的前世今生 day01(预训练、统计语言模型)

预训练 在相似任务中&#xff0c;由于神经网络模型的浅层是通用的&#xff0c;如下图&#xff1a; 所以当我们的数据集不够大&#xff0c;不能产生性能良好的模型时&#xff0c;可以尝试让模型B在用模型A的浅层基础上&#xff0c;深层的部分自己生成参数&#xff0c;减小数据集…

RabbitMQ的幂等性、优先级队列和惰性队列

文章目录 前言一、幂等性1、概念2、消息重复消费3、解决思路4、消费端的幂等性保障5、唯一 ID指纹码机制6、Redis 原子性 二、优先级队列1、使用场景2、如何添加3、实战 三、惰性队列1、使用场景2、两种模式3、内存开销对比 总结 前言 一、幂等性 1、概念 2、消息重复消费 3、…

【uniapp】表单验证不生效的解决方案

表单验证这个常见的功能&#xff0c;明明在element ui等框架已经用的很熟了&#xff0c;在uniapp开发时还是处处碰壁&#xff1f;这篇文章我会提示uni-forms表单验证的几个注意点&#xff0c;帮助大家排查。 示例 下面是一份包含普通验证和自定义验证的示例&#xff1a; <…

【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程

文章目录 一、什么是CodeGeeX&#xff08;一&#xff09;我理解的CodeGeeX&#xff08;二&#xff09;优缺点 二、CodeGeex下载、安装、注册&#xff08;一&#xff09;安装VS Code(Visual Studio Code)&#xff08;二&#xff09;下载安装CodeGeeX&#xff08;三&#xff09;注…

Java项目:59 ssm小型企业办公自动化系统的设计和开发+vue

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统可以提供信息显示和相应服务&#xff0c; 其管理员管理部门经理&#xff0c;管理总经理&#xff0c;管理员工和员工留言以及员工工资&…

搭建 es 集群

一、VMware准备机器 首先准备三台机器 这里我直接使用 VMware 构建三个虚拟机 都是基于 CentOS7 然后创建新用户 部署 es 需要单独创建一个用户&#xff0c;我这里在构建虚拟机的时候直接创建好了 然后将安装包上传 可以使用 rz 命令上传&#xff0c;也可以使用工具上传 工…

RK3588_Qt交叉编译环境搭建

buildroot编译 进入 /home/linux/plat/rk3588/sdk/buildroot 目录下&#xff0c;执行 Source ./envsetup.sh 选择具体平台编译&#xff0c;后再执行make编译 /home/linux/plat/rk3588/sdk/buildroot/output/OK3568/images 生成的rootfs.ext2镜像重新烧写到rk3568开发板中&…