# JFinalSwagger **Repository Path**: wenhaofan/JFinalSwagger ## Basic Information - **Project Name**: JFinalSwagger - **Description**: 极简的JFinal Swagger插件 - **Primary Language**: Java - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 2 - **Created**: 2019-03-02 - **Last Updated**: 2022-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### JFinalSwagger使用说明 demo:[https://gitee.com/wenhaofan/JFinalSwaggerDemo](https://gitee.com/wenhaofan/JFinalSwaggerDemo) **1. 引入** ``` live.autu jfinal-swagger 1.0.0 ``` **2. 前往:[https://github.com/swagger-api/swagger-ui](https://github.com/swagger-api/swagger-ui) 下载 swagger-ui-master 将 dist 中文件加入到项目中** ``` 可配置成类似如下路径: webapp static swagger favicon-16x16.png ... swagger-ui.js.map WEB-INF views swagger index.html ``` **3. 增加Swagger路由控制** ``` 以第二步的形式配置的目录结构,可直接使用如下路由配置 routes.add(new SwaggerRoutes()); 也可自行配置路由信息 public class SwaggerRoutes extends Routes { @Override public void config() { setBaseViewPath("/WEB-INF/views"); add("/swagger", SwaggerController.class); } } ``` **4. 参数配置** ``` @Override public void configPlugin(Plugins me) { me.add(new SwaggerPlugin(new SwaggerDoc())); } ``` 添加配置文件 :swagger.txt ``` basePath=/ host=127.0.0.1:8080 version=2.0 info.description=测试jfinal swagger info.version=1.0 info.title=测试 ``` 喜欢代码配置也可以使用代码配置 ``` @Override public void configPlugin(Plugins me) { me.add(new SwaggerPlugin(new SwaggerDoc().setBasePath("/").setHost("127.0.0.1").setSwagger("2.0") .setInfo(new SwaggerApiInfo("jfinal swagger demo", "1.0", "jfinal swagger", "")))); } ``` 修改undertow.txt ``` 添加 undertow.hotSwapClassPrefix=live.autu.plugin.jfinal.swagger ``` **5. 添加注解** ``` 提供五种注解,使用方式与swagger-annotation一致: @Api @ApiOperation @Param @ApiImplicitParams @ApiImplicitParam 更多注解支出持续更新中 ``` 注解使用示例: ```java @Api(tag = "test", description = "测试") public class BlogController extends Controller { @ApiOperation(tag = "index", httpMethod = RequestMethod.GET , description = "测试") @ApiImplicitParams({ @ApiImplicitParam(name = "id", description = "编号", required = true, dataType = "Long"), @ApiImplicitParam(name = "name", description = "姓名", required = true, dataType = "String") }) public void test() { renderJson(list); } } ``` **6.说明** 该插件会自动读取Route配置以及@ActionKey所以无需配置url