# lime-japi-docs
**Repository Path**: xuchenoak/lime-japi-docs
## Basic Information
- **Project Name**: lime-japi-docs
- **Description**: lime-japi-docs是一个简单的Java接口文档生成工具,通过解析Java源码及其注释生成Controller接口文档,可在网页端管理、生成和浏览文档……
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 17
- **Forks**: 2
- **Created**: 2023-04-12
- **Last Updated**: 2025-09-03
## Categories & Tags
**Categories**: doc-tools
**Tags**: Java, 接口文档, 接口文档生成工具, 源码解析
## README
# lime-japi-docs

## 1 简介
lime-japi-docs是一个简单的Java接口文档生成工具,通过解析Java源码及其注释生成Controller接口文档,可在网页端管理、生成和浏览文档。项目打包为独立可执行jar包,对解析的源码零侵入,直接运行后在网页上进行初始化和配置即可。若只想解析获取Controller源码接口数据,只需要在自己项目中引入核心解析包「lime-japi-docs-parser」进行解析即可,核心包已开源并上传至maven中央仓库。
运行环境:JDK1.8+
## 2 下载
- 下载地址:点击下载
- 体验地址:在线体验
邀请码:666 管理登录账/密:admin/123456
- 页面截图:
|  |  |
|-------------------------------------------------|---------------------------------------------------|
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
|  |  |
- 2024-09-28 v1.1.2更新截图
|  |  |
|--------------------------------|----------------------------------|
|  | |
## 3 使用
### 3.1 运行服务
进入「下载」页面下载最新版本的zip包,然后将压缩包解压,在java环境下`java -jar lime-japi-docs-版本号.jar`直接运行目录下的jar包,启动后访问 http://127.0.0.1:3001 即可进行初始化并开始配置生成文档了!
1. 建议下载`lime-japi-docs-1.1.*.zip`的最新版本,`lime-japi-docs-1.0.1.zip`版本比较粗糙,感兴趣的话需要找到对应版本标签里的`README.md`;
2. jar包目录下贴心提供了`restart.cmd`(重启)和`stop.cmd`(关闭)服务的脚本,默认端口3001,如果使用其它端口启动记得脚本里也改一下;
3. jar包目录下会生成数据库文件`./data/data.mv.db`(所有配置都在数据库里,数据库删除了就要重新配置和生成文档了)和日志文件`./data/log`(想看日志自己查)。
### 3.2 源码注释示例(就是最最普通的java注释啦)
1. Controller及接口方法注释示例:
```java
/**
* 用户管理业务接口
**/
@Validated
@RestController
@RequestMapping("/user")
public class UserController {
/**
* 获取用户列表
* @param username 用户名(搜索)
* @param age 年龄(搜索)
* @param sex 性别(搜索)
* @return
*/
@GetMapping("/list")
public AjaxResult> list(String username, Integer age, String sex) {
// ……
return AjaxResult.suc();
}
/**
* 新增用户
* @return
*/
@PostMapping("/add")
public AjaxResult add(@Validated @RequestBody UserAddRf rf) {
// ……
return AjaxResult.suc();
}
// ……
}
```
2. 接口方法入参类注释示例:
参数验证注释可通过文档配置的回调对如 `@NotBlank`、`@NotNull`等注解进自定义注释。
```java
/**
* 用户信息入参
**/
@Data
public class UserAddRf {
/** 用户名 */
@NotBlank(message = "用户名不能为空")
private String username;
/** 年龄 */
@NotNull(message = "用户年龄不能为空")
private Integer age;
/** 性别 */
@NotBlank(message = "用户性别不能为空")
private String sex;
/** 归属部门 */
@NotNull(message = "归属部门不能为空")
private List deptIdList;
}
```
3. 接口方法出参类注释示例:
```java
/**
* 用户实体
**/
@Data
public class UserVo {
/** 用户名 */
private String username;
/** 年龄 */
private Integer age;
/** 性别 */
private String sex;
/** 归属部门 */
private List deptList;
}
```
## 4 答疑
### 4.1 启动有问题怎么办?
在日志目录`./data/log`查看看一下日志报错,相信你看得懂滴。如果有需要也可以@我!
### 4.2 我不需要文档,只想要得到接口数据?
- 方式一:在这个服务页面中生成文档后通过页面接口获取json再进行解析;
- 方式二:在你的项目中引用项目的核心解析包`lime-japi-docs-parser`(包有上传到maven中央仓库,直接引用就好),然后用这个包提供的工具解析,项目已开源至:https://gitee.com/xuchenoak/lime-japi-docs-parser (跳转过去看具体的使用说明,也多多支持这个包,蟹蟹)。
### 4.3 交流群
- 建了一个wx交流群为大家答疑,版本更新也会发到群里,争取让大家能第一时间体验新功能;
- 新功能都是我在工作中实际需求需要的,不一定适用于大家,所以大家如果有新的需求想法,也欢迎在群里一起探讨;
- wx群只有一周的有效期,码就不贴在这里了,可以先加我的wx(wx号:xuchenoak)拉进去,或提个issue后我回复群码,蟹蟹。
## 5 更新记录
- 2023-03-26 V1.0.1发布(这是一个小粗糙版本)
- 启动一个服务仅支持解析一个项目生成单文档;
- 文档配置需要在`application.yml`中进行配置;
- 功能和页面都比较单一。
- 2024-06-06 V1.1.1更新(不兼容上一版本,需单独运行)
- 启动一个服务可以配置多个项目生成多份文档;
- 系统和文档配置都放在了页面上,简化为一个jar包,直接启动即可;
- 支持从初始化开始可自定义系统名称、logo、slogan等;
- 支持配置文档字段校验和默认值注释回调;
- 修复了核心解析包的几个小bug。
- 2024-09-28 V1.1.2更新(兼容上一版本,更换jar包即可)
- 文档搜索支持全局搜索,可以根据目录名称、接口名称或接口地址搜索并点击跳转接口所在位置;
- 文档配置新增“文档标识码”字段,用于触发生成文档时作为入参,实现调用一次触发接口即可以触发多个相同“文档标识码”的文档生成;
- 文档访问地址支持“文档/目录/接口”三级定位,访问带有相应参数的url即可定位到对应的文档、接口或目录。
## 6 最后&致谢
- 本项目的灵感源于`@YeDaxia`的项目 JApiDocs,它是一个可以解析Java源码并生成接口文档(支持生成html静态页或markdown等)的工具;
- 本项目解析Java源码使用的是项目 javaparser 提供的解析器;
- 本项目使用的前端框架是`vue`,UI框架是`ant-design-vue`,代码编辑器是`vue2-ace-editor`;
- 特别感谢小伙伴 @hantai喔 提供的logo设计,欢迎大家多多关注TA。