# Viewer
**Repository Path**: ThoughtSet/Viewer
## Basic Information
- **Project Name**: Viewer
- **Description**: Viewer 是一款基于SpringBoot构建的API敏捷开发平台,突破传统编码范式,提供从SQL到API的一站式数据服务能力。通过可视化SQL工作台,开发者无需编写Java代码即可发布标准RESTful接口,针对查询、大屏场景提供快速迭代方案,助力企业快速构建高性能数据决策系统。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 1
- **Created**: 2025-03-10
- **Last Updated**: 2025-11-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 低代码, MyBatis, 快速开发平台, AI, MCP
## README
# Viewer - 零代码API开发平台



## 🚀 项目简介
Viewer 是一款基于SpringBoot构建的API敏捷开发平台,突破传统编码范式,提供从SQL到API的一站式数据服务能力。通过可视化SQL工作台,开发者无需编写Java代码即可发布标准RESTful接口,针对查询、大屏场景提供快速迭代方案,助力企业快速构建高性能数据决策系统。
## ✨ 核心特性
- **零代码开发**:告别Controller/Service/Dao编写
- **MyBatis SQL支持**:直接使用熟悉的SQL语法开发接口
- **可视化操作**:通过Web界面完成API开发全流程
- **任意数据库**:默认支持MySQL可通过自定义驱动,通过界面自行扩展,支持所有JDBC连接的数据库
- **多种方式查询**:通过自定义http请求和自定义连接器,实现对第三方系统的集成
- **多数据源**:通过多数据源,支持在一次请求中可跨数据源,跨系统查询
- **AI辅助**:通过FunctionCall,轻松实现AI与业务数据的结合
- **高性能**:基于SpringBoot的轻量级架构
- **实时生效**:支持动态创建、修改API;动态创建、修改数据源。热部署全程无感。
## 🚀 5分钟快速体验
### 1. 下载运行
```bash
# 下载最新JAR包(约15MB)
#Window启动命令:
java -jar viewer-apis-service.jar
#Linux下后台进程启动命令:
nohup java -jar viewer-apis-service.jar >catalina.out 2>&1 &
#关掉项目:
ps -ef|grep java
kill 进程号
```
## 📖 使用指南
### 创建第一个API
1. 访问 `http://localhost:11791` 登录管理界面
2. 在"数据源管理"中添加数据源(支持所有支持JDBC连接的,自定义连接器等)
3. 在"查询语句"中创建新方法,选择刚才创建的数据源
4. 编写符合mybatis的SQL查询语句,例如:
```xml
```
或者http请求,如果是post请求添加``标签:
```xml
/department/list?access_token=${ACCESS_TOKEN}
&id=${id}
{
get_party_path:${get_party_path}
}
```
5. 在"设定方法"中添加所需参数,
6. 配置执行细节,使用Spel表达式进行参数映射
7. 在"设定接口"中创建新API,选择刚才创建的方法,同时设置API路径(如`/api/v1/users`)
8. 保存后返回查询界面,点击"启动"按钮即可通过API网关访问
### 创建MCP服务
1. 访问 `http://localhost:11791` 登录管理界面
2. 在"McpServer"中创建新McpServer端点
3. 选择需要对外提供的的方法,同时设置服务名,SSE路径(如`/sse`),消息端点(如`//mcp/messages`)等信息
4. 保存后返回查询界面,点击"启动"按钮即可被mcp服务访问

## 📌 示例展示
### 自定义驱动

### 创建数据源

### 查询语句

### 设定方法
#### 方法参数

#### 执行细节

### 设定接口

### 基础信息

### MCP
#### mcp server端点

#### mcp server验证

### AI 相关
#### AI端点

#### 模型设置

#### Function Call 逻辑块

#### 运行结果

## ⚙️ 生产环境配置
### 创建 `application.yml` 文件:
```yaml
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_db
username: db_user
password: db_pass
```
### 然后运行:
```bash
java -jar viewer-apis-client.jar --spring.config.location=application.yml
```
### 防止管理页面被公网访问,运行:
```bash
java -jar viewer-apis-service.jar --spring.config.location=application.yml
```
## 功能规划
1. ✔️MCP SERVER (v1.2.0)
2. ✔️Function Call (目标版本 V1.3.0)
3. ✔️加入AI数据源(deepseek,openai,zhipu) (目标版本 V1.3.0)
4. ✔️MCP CLIENT (计划版本 V1.4.0)
5. ⏳添加图像,音频,视频类多模态AI模型的支持
6. ⏳补充支持mybatis \ 注解(支持resultMap中的id,result,association,collection标签;result标签中property,column,javaType;collection中的columnPrefix属性)
7. 加入查询缓存
8. 执行算子(lua,js脚本)
9. 支持MCP协议全部功能
10. 服务器间数据拷贝
11. 定时任务
12. 接口认证
13. 优化导出
14. 结合jdk25+springboot4优化 \
15. spring native
16. AI Agent能力
17. 响应式接口
18. 并行查询
19. 在管理端使用自然语言辅助生成查询
## 🤝 参与贡献
欢迎提交Issue和PR,贡献流程:
1. Fork本项目
2. 创建分支(`git checkout -b feature/xxx`)
3. 提交修改(`git commit -m 'feat: xxx'`)
4. 推送到远程(`git push origin feature/xxx`)
5. 创建Pull Request
## 📜 开源协议
MIT License - 自由修改和商用,但需保留原始版权声明
## ☎ 联系我们
- 欢迎大家提需求和建议[【新建issuses】](https://gitee.com/ThoughtSet/Viewer/issues/new)!(详细描述你的原始需求,我们会帮你提供一些方案,节约大家的成本)
- **内推项目** 如您觉得项目不错,可推荐到公司,建立长期稳定的商业合作,提供更专业的技术服务。
[//]: # (## 分支命名规则)
[//]: # (- `feat/*`:新功能开发)
[//]: # (- `fix/*`:问题修复)
[//]: # (- `docs/*`:文档更新)