83 Star 277 Fork 67

昵称为空 / fastapi

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

logo

fastapi v1.2.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

postgresql连接url

oracle连接url: jdbc:postgresql://xxx:5432/xxx

sqlserver连接url

sqlserver连接url: jdbc:sqlserver://xxx:1433;DatabaseName=xxx

如果你需要检查数据库连接,可点击一键自检对数据库健康度进行检查
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语句时会自动拼接上[]中的语句**

  3. 模糊查询用法select * from sys_user where [`user_name like %{userName}%`]

中文只支持post请求
oracle jar需要自己手动添加至maven参考中

接口调用

{ip}:{端口}/reverse/{应用前缀}/{接口名称} 

接口合并调用

目前通过接口平台进行配置后,每一个接口为一个单独指标项,这就意味着前端在进行调用时
需要调用大量的后台接口,所以为了前端调用遍历,故有了此功能
接口进行合并调用时需要注意,只能是同一个应用下的接口才能够进行合并调用,且同时最多合并五个接口

{ip}:{端口}/reverse/{应用前缀}/{接口名称1},{接口名称2},{接口名称3}... 

接口权限控制

接口平台目前支持登录调用/密钥调用/系统调用(定时任务)/开放调用四种权限控制
可通过系统管理->参数设置,进行灵活的权限配置

登录调用

head中必须带有系统用户的token才能进行调用,当不填写authType时,默认为登陆调用

head
Authorization:Bearer xxx
authType:authToken

密钥调用

接口平台支持第三方系统,使用密钥进行调用,调用前对接口进行授权

head
authType:authCode
clientId:xxx
clientSecret:xxx

系统调用

由内部系统定时任务发起的数据落地操作

开放调用

接口平台不进行权限控制,只需将系统管理->参数设置->开启登录校验设置为off即可

接口服务

接口平台提供第三方应用,以密钥方式进行对接,可单独对每个应用进行细粒度接口权限控制

应用管理

创建第三方应用,同时用于管理员进行授权操作

调用历史

记录接口调用历史,可在(参数设置->调用历史-开启调用历史)中设置开启或关闭

接口数据落地

在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": "山东省"
                }
            }
        ]
    }
}

演示图

捐献支持

MIT License Copyright (c) 2022 陈健 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

java接口管理平台 展开 收起
Java 等 5 种语言
MIT
取消

发行版 (3)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/kjwl/fastapi.git
git@gitee.com:kjwl/fastapi.git
kjwl
fastapi
fastapi
master

搜索帮助