类 JavaBuilderController
java.lang.Object
net.sohelp.boot.admin.core.base.BaseController
net.sohelp.boot.dev.web.code.JavaBuilderController
@RestController("dev-code-java-builder")
@RequestMapping("/dev/code/java")
public class JavaBuilderController
extends BaseController
代码生成控制器,用于处理与Java代码自动生成相关的请求。
- 从以下版本开始:
- 2024/5/22 14:15
- 作者:
- AaronFung
-
字段概要
从类继承的字段 net.sohelp.boot.admin.core.base.BaseController
request, response -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明batchDelete(Map<String, Object> paramMap) 批量删除指定数据源下的多个表对应的配置信息。实际执行代码生成功能,将生成好的代码写入本地磁盘路径。clearAll()清空所有已保存的代码生成配置。压缩并提供下载已生成的代码包。ApiResult<?> 根据给定的数据源和表名加载该表的详细字段配置信息。获取指定数据源下符合条件的所有数据库表,并分页展示其配置状态。preview(com.alibaba.fastjson.JSONObject body) 构建并预览将要生成的代码目录结构及文件内容。saveConfig(com.alibaba.fastjson.JSONObject jsonObject) 将用户编辑的表字段配置信息持久化到系统中。从类继承的方法 net.sohelp.boot.admin.core.base.BaseController
error, error, fail, fail, fail, getLoginID, getLoginName, getLoginOrgID, getLoginOrgName, getLoginUser, getNickname, getTenantId, getUserName, getUserNo, i18n, i18n, isAdministrator, isDeveloper, limit, offset, ok, ok, response, response, responseStream, success, success, success, success, validateToken
-
构造器详细资料
-
JavaBuilderController
public JavaBuilderController()
-
-
方法详细资料
-
batchDelete
@PostMapping("/batchDelete") @Permission("ADMIN") public ApiResult<String> batchDelete(@RequestBody Map<String, Object> paramMap) throws SQLException, BusiException批量删除指定数据源下的多个表对应的配置信息。- 参数:
paramMap- 请求参数映射,包含以下键值: - datasourceName:数据源名称,默认为"default" - tableNames:要删除的表名列表- 返回:
- 删除结果提示字符串
- 抛出:
SQLException- 数据库操作异常BusiException- 业务逻辑异常
-
clearAll
@PostMapping("/clearAll") @Permission("ADMIN") public ApiResult<String> clearAll() throws SQLException清空所有已保存的代码生成配置。- 返回:
- 操作成功提示信息
- 抛出:
SQLException- 数据库相关异常
-
list
@GetMapping("/list") @Permission("ADMIN") public ApiResult<Pager<CodeVO>> list(@RequestParam Map<String, Object> paramMap) throws Exception获取指定数据源下符合条件的所有数据库表,并分页展示其配置状态。- 参数:
paramMap- 请求参数映射,包括: - datasourceName:数据源名称(默认"default") - label:过滤条件,匹配表标签或名称 - page:当前页码(从1开始) - limit:每页记录数- 返回:
- 分页后的CodeVO对象集合,表示各表的配置情况
- 抛出:
Exception- 可能抛出的各种异常
-
getConfig
@GetMapping("/getConfig") @Permission("ADMIN") public ApiResult<?> getConfig(@RequestParam String datasourceName, @RequestParam String tableName) throws Exception 根据给定的数据源和表名加载该表的详细字段配置信息。- 参数:
datasourceName- 数据源名称tableName- 表名- 返回:
- 包含表字段配置详情的对象
- 抛出:
Exception- 加载过程中可能发生的各种异常
-
saveConfig
@PostMapping("/save") @Permission("ADMIN") public ApiResult<EntityVO> saveConfig(@RequestBody com.alibaba.fastjson.JSONObject jsonObject) throws Exception 将用户编辑的表字段配置信息持久化到系统中。- 参数:
jsonObject- 配置信息JSON对象,应至少包含name、datasourceName等关键属性- 返回:
- 成功保存的消息
- 抛出:
Exception- 在保存过程中可能出现的任意异常
-
preview
@PostMapping("/preview") public ApiResult<List<Map<String,Object>>> preview(@RequestBody com.alibaba.fastjson.JSONObject body) throws Exception 构建并预览将要生成的代码目录结构及文件内容。- 参数:
body- 请求体,需包含schemeName、datasourceName以及tables数组- 返回:
- 目录树结构的列表形式,每个节点代表一个待生成的文件
- 抛出:
Exception- 构建过程中的潜在错误
-
build
@PostMapping("/build") @Permission("ADMIN") public ApiResult<Map<String,Object>> build(@RequestBody Map<String, Object> paramMap) throws Exception实际执行代码生成功能,将生成好的代码写入本地磁盘路径。- 参数:
paramMap- 参数映射,必须包含scheme_name、tables、datasourceName三个字段- 返回:
- 生成成功的消息及输出路径
- 抛出:
Exception- 生成过程中遇到的问题
-
download
@GetMapping("/download") @Permission("ADMIN") public ApiResult<String> download(@RequestParam String id, @RequestParam(required=false) String datasourceName, @RequestParam List<String> tables) throws Exception 压缩并提供下载已生成的代码包。- 参数:
id- 方案IDdatasourceName- 数据源名称tables- 要打包的表名列表- 返回:
- 返回null,实际通过response流直接输出zip文件供浏览器下载
- 抛出:
Exception- 处理压缩或IO时出现的异常
-