# fastapi
**Repository Path**: justin1001/fastapi
## Basic Information
- **Project Name**: fastapi
- **Description**: java接口管理平台
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 80
- **Created**: 2022-11-03
- **Last Updated**: 2022-11-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
fastapi v1.0.0
## 平台目标
> 1. 通过对接口的统一管理、统一配置、统一调用,来满足公司日益变化的接口需求
> 2. 通过配置,实现零开发,零发布,零运维,从而让开发人员多一些快乐,少一些加班
## 平台架构
> 本平台基于ruoyi 3.8.2进行开发
> 前端采用Vue、Element UI。
> 后端采用Spring Boot、Spring Security、Redis & Jwt。
## 操作文档
### 基础配置
#### 数据源配置
mysql连接url
```
mysql连接url: jdbc:mysql://xxx:3306/xxx?characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&allowPublicKeyRetrieval=true
```
oracle连接url
```
oracle连接url: jdbc:oracle:thin:@xxx:1521/orcl
```
> 如果你需要检查数据库连接,可点击一键自检对数据库健康度进行检查
> oracle jar需要自己手动添加至maven
#### 应用管理
> 为了方便管理,一个大屏页面为一个应用
### 接口配置
> 查询接口配置
1. 根据sql语句结果,配置相对应的结果类型
2. 根据业务和实际接口请求时长,决定是否开启缓存
3. 接口描述最好填写,方便日后进行维护(最好直接为页面指标项)
### 参数传递
1. get请求直接在url中拼接数据即可
2. post请求在body中以json方式传参,在配置sql中可变参数以 [\`user_name={userName}\`]此形式进行配置
如:select * from sys_user where [\`user_name={userName}\`]当前台传入userName语句时会自动拼接上[]中的语句**
> 中文只支持post请求
> oracle jar需要自己手动添加至maven参考中
### 接口调用
```
{ip}:{端口}/reverse/{应用前缀}/{接口名称}
```
### 接口合并调用
> 目前通过接口平台进行配置后,每一个接口为一个单独指标项,这就意味着前端在进行调用时
> 需要调用大量的后台接口,所以为了前端调用遍历,故有了此功能
> 接口进行合并调用时需要注意,只能是同一个应用下的接口才能够进行合并调用,且同时最多合并五个接口
```
{ip}:{端口}/reverse/{应用前缀}/{接口名称1},{接口名称2},{接口名称3}...
```
### 接口权限控制
> 1. 管理员可通过系统管理->参数设置功能,来决定是否开启token校验
> 2. 还可调用第三方校验(需根据实际情况进行开发)
```
{ip}:{端口}/reverse/{应用前缀}/{接口名称1},{接口名称2},{接口名称3}...
```
### 接口数据落地
> 在ScheduleTask类中,给出了数据落地的调用方法,根据实际情况进行开发即可
### 数据转换
#### kv转换
内容格式:
```
{"name":"返回字段名称","value":"返回字段名称"}
```
返回格式:
```
{
"msg": "操作成功",
"code": 200,
"data": {
"result": [
{
"name": 202110,
"value": 1078085
},
{
"name": 202111,
"value": 1136770
}
]
}
}
```
#### 行列转换
内容格式:
```
{"name":"返回字段名称","value":"返回字段名称"}
```
返回格式:
```
{
"msg": "操作成功",
"code": 200,
"data": {
"result": {
"202112": 1238529,
"202201": 1202956
}
}
}
```
#### key提取
内容格式:
```
{"key":"返回字段名称"}
```
返回格式:
```
{
"msg": "操作成功",
"code": 200,
"data": {
"result": [
{
"202110": {
"VAL": 1078085,
"MONTH": 202110,
"CANTCODE": "370000",
"CANTNAME": "山东省"
}
},
{
"202111": {
"VAL": 1136770,
"MONTH": 202111,
"CANTCODE": "370000",
"CANTNAME": "山东省"
}
}
]
}
}
```
## 演示图
## 捐献支持