# jfinal-swagger
**Repository Path**: jiahaoweiwei/jfinal-swagger
## Basic Information
- **Project Name**: jfinal-swagger
- **Description**: jfinal 集成 Swagger
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 44
- **Created**: 2019-11-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### JFinal-Swagger
上周开始接触JFinal框架,第一感觉就是提高了开发速度。之前使用Spring的时候,方便API文档生成,便集成了Swagger
在研究一段时间后,决定将Swagger集成到JFinal中,由于时间仓促,当前第一版本提供基础功能
#### JFinal-Swagger 使用说明
- mvn clean
- mvn install
#### 参考[Demo](https://gitee.com/leeckent/jfinal-swagger/attach_files)
**1. 添加依赖**
```
com.feizhou
jfinal-swagger
1.0-SNAPSHOT
```
**2. 下载 swagger-ui-master 将 dist 中文件加入到项目中**
```
可配置成类似如下路径:
webapp
static
swagger
favicon-16x16.png
...
swagger-ui.js.map
WEB-INF
views
swagger
index.html
```
**3. 增加Swagger路由控制**
```
// 可以用此方式增加全局参数 如token
SwaggerGlobalPara.addPara(new SwaggerPath.Parameter(
"x-access-token", "header", "令牌", false, "string", "", ""
));
以第二步的形式配置的目录结构,可直接使用如下路由配置
routes.add(new SwaggerRoutes());
也可自行配置路由信息
public class SwaggerRoutes extends Routes {
@Override
public void config() {
setBaseViewPath("/WEB-INF/views");
add("/swagger", SwaggerController.class);
}
}
```
**4. 添加注解**
```
提供四种注解:
@Api(tag = "index", description = "测试输出")
@ApiOperation(url = "/test", tag = "index", httpMethod = "get", description = "测试json")
@Param(name = "id", description = "编号", required = true, dataType = "Long")
@Params
```
**5. 配置扫描包信息**
```
config.properties增加:swagger.base_package
如:
swagger.base_package=com.feizhou.swagger.test
```
**6. 增加文件参数支持**
```
增加 consumes = "multipart/form-data"
@ApiOperation(url = "/test2", tag = "index", httpMethod = "post", description = "测试json", consumes = "multipart/form-data")
设置 dataType = "file"
@Param(name = "file", description = "文件", required = true, dataType = "file")
```
注解使用示例:
```java
@Api(tag = "index", description = "测试输出")
public class IndexController extends Controller {
public void index() {
setAttr("aaa", "aaaaaa");
this.render("index.html");
}
@ApiOperation(url = "/test", tag = "index", httpMethod = "get", description = "测试json")
@Params({
@Param(name = "id", description = "编号", required = true, dataType = "Long"),
@Param(name = "name", description = "姓名", required = true, dataType = "String")
})
public void test() {
List list = Arrays.asList("123","456");
this.renderJson(list);
}
}
```