Skip to content

Latest commit

 

History

History
131 lines (91 loc) · 2.7 KB

README.md

File metadata and controls

131 lines (91 loc) · 2.7 KB

JFinalSwagger使用说明

demo:https://gitee.com/wenhaofan/JFinalSwaggerDemo

1. 引入

    <dependency>
        <groupId>live.autu</groupId>
        <artifactId>jfinal-swagger</artifactId>
        <version>1.0.0</version>
    </dependency>

2. 前往: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
    
    更多注解支出持续更新中
    

注解使用示例:

@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