本周六「上海源创会」,与一线大牛一起聊聊:PHP、Flink、k8s、微服务架构,点击立刻报名!
指数
0
Watch 27 Star 82 Fork 37

江南久无雪 / jfinal-swaggerJava

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
jfinal 集成 Swagger 展开 收起

克隆/下载
leeckent 最后提交于 更新 README.md
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

JFinal-Swagger

上周开始接触JFinal框架,第一感觉就是提高了开发速度。之前使用Spring的时候,方便API文档生成,便集成了Swagger 在研究一段时间后,决定将Swagger集成到JFinal中,由于时间仓促,当前第一版本提供基础功能

JFinal-Swagger 使用说明

  • mvn clean
  • mvn install

参考Demo

1. 添加依赖

    <dependency>
        <groupId>com.feizhou</groupId>
        <artifactId>jfinal-swagger</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

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")

注解使用示例:


@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<String> list = Arrays.asList("123","456");
        this.renderJson(list);
    }
}
    

点评 ( 37 )

你可以在登录后,发表评论

搜索帮助

14_float_left_people 14_float_left_close