-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
17 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,87 +1,44 @@ | ||
# Yapi X | ||
一键生成接口文档, 上传到yapi, rap2, eolinker等. | ||
一键生成接口文档, 上传到Yapi, Rap2, Eolinker等. | ||
|
||
- [x] 一键从源代码生成api文档 | ||
- [x] 支持外部配置文件 | ||
- [x] 上传到Yapi平台 | ||
- [x] 上传到Rap2平台 | ||
- [x] 上传到Eolinker平台 | ||
- [ ] 生成markdown接口文档 | ||
|
||
<img src="screenshots.gif" height="360"> | ||
|
||
原理:这是一个Idea插件,从源码解析标准Javadoc文档, 并结合spring等常见注解. | ||
|
||
## 轮子 | ||
我一直在使用[YapiUpload](https://github.com/diwand/YapiIdeaUploadPlugin) 插件生成文档非常方便, | ||
在这之前一直维护公司分支版本,鉴于该开源项目维护缓慢,并在功能设计上与个人理念存在差异,因此决定重写该项目。 | ||
一直在使用[YapiUpload](https://github.com/diwand/YapiIdeaUploadPlugin) 插件生成文档非常方便, | ||
鉴于该项目维护缓慢,并在功能设计上与个人理念存在差异,因此决定重写该项目。 | ||
|
||
- 支持任意泛型 | ||
- 支持任意泛型、批量上传 | ||
- 支持账户密码登录 | ||
- 批量上传,多线程上传 | ||
- 几乎兼容YapiUpload规则 | ||
- 代码逻辑简单,易于二次开发 | ||
- ... | ||
|
||
## 使用 | ||
1. 安装插件: 打开Idea -> File -> Settings -> Plugins, 搜索: `Yapi X` | ||
2. 项目配置: 项目根目录创建`.yapix`文件, 内容: `projectId=110` | ||
3. 执行上传: 选中你的控制类或方法,右键执行: `Upload To Yapi` | ||
1. 安装: 打开Idea -> File -> Settings -> Plugins, 搜索: `Yapi X` | ||
2. 配置: 项目根目录创建`.yapix`文件, 内容: `yapiProjectId=110` | ||
3. 上传: 选中你的控制类或方法,右键执行: `Upload To Yapi` | ||
|
||
## 配置文件(.yapix) | ||
## 配置 | ||
```properties | ||
# 项目id | ||
yapiProjectId= | ||
rap2ProjectId= | ||
eolinkerProjectId= | ||
# 包装类全称: String | ||
# 包装类全称: 场景是有配置spring全局过滤器包装统一返回值的情况 | ||
returnWrapType= | ||
# 解包装类型全称: List<String> | ||
# 解包装类型全称: 场景是有些返回类型不希望被统一spring过滤器包装 | ||
returnUnwrapTypes= | ||
# 参数忽略类型全称: List<String> | ||
# 参数忽略类型全称: 场景是自定义注入了一些参数类型不是由客户端上传 | ||
parameterIgnoreTypes= | ||
``` | ||
备注: 对于list类型值支持英文逗号分隔,并允许空格. | ||
|
||
## 规则 | ||
大多数情况下只需要使用标准的Javadoc就能非常完美的生成文档. | ||
1. 标准的Javadoc生成 | ||
接口: GET /user/list | ||
分类: 用户管理 | ||
接口: 获取用户列表 | ||
参数: @param注解, 参数实体中解析字段注释 | ||
```java | ||
/** | ||
* 用户管理 | ||
*/ | ||
@RestController | ||
@RequestMapping("/user") | ||
public class UserController { | ||
|
||
/** | ||
* 获取用户列表 | ||
* | ||
* @param page 页码 | ||
* @param size 每页大小 | ||
*/ | ||
@GetMapping("/list") | ||
public User list(Integer page, Integer size) {} | ||
|
||
/** | ||
* 新增用户 | ||
*/ | ||
@PostMapping("/add") | ||
public User add(@RequestBody UserAddRequest request) {} | ||
} | ||
``` | ||
2. 验证框架注解 | ||
``` | ||
@NotNull | ||
@NotEmpty | ||
@NotBlank | ||
``` | ||
3. 其他spring注解 | ||
``` | ||
@RequestParam | ||
@RequestHeader | ||
@PathVariable | ||
@RequestAttribute | ||
``` | ||
## 贡献 | ||
欢迎提交需求,发现问题,提交代码来参与贡献。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters