JFinal4.9整合Swagger,最coooool的SwaggerUI


[gitee](https://gitee.com/linbq-b7/jfinal-swagger-knife4j)

更新日志:

2.5(2020-12-21) 

1.接口分组新增支持配置basePath,可为空,默认使用全局配置的basePath.
示例:swagger_resources = admin端接口#com.swagger.demo.admin#/api/admin, app端接口#com.swagger.demo.app#/api/app


[Knife4j效果预览](http://knife4j.xiaominfo.com/doc.html)


评论区

JFinal

2020-12-17 12:05

演示效果不错,谢谢分享

l745230

2020-12-17 14:38

@steven_lhcb_9527 不是提供了一个Demo了,跟着Demo配置呗. 已经是很简洁了.

vk567

2020-12-17 15:00

这个很不错,感谢老铁

prelove

2020-12-18 08:59

太感谢了

小猪贝

2020-12-19 17:03

请问一下,像 /api/a/接口名 和 /api/b/接口名 这种怎么定义不同的basePath?目前只可以定义一个,要么是basePath = /api/a, 要么是basePath = /api/b

l745230

2020-12-20 09:35

@小猪贝 你描述的不够详细,我猜测a跟b分别代表app端跟管理端, 配置swagger_resources = admin端接口#com.swagger.demo.admin, app端接口#com.swagger.demo.app

小猪贝

2020-12-21 10:26

@l745230 我具体意思是这样:
配置路由:
add("/AAA/sw",TestSwaggerController.class,"");
add( "/BBB/simple", SimpleController.class,"");
最后接口为:/api/AAA/sw/testSwagger,/api/BBB/simple/test6;
关键在于这‘/AAA’和‘/BBB’,如果我只配置basePath="/api"是扫不出的,只能配置basePath="/api/AAA",可是这样的话/BBB怎么办呢,毕竟basePath只有一个

小猪贝

2020-12-21 10:31

@steven_lhcb_9527
你怎么做到添加路由的时候是sw,后面接口是/api/sw的呢
我具体意思是这样:
配置路由:
add("/api/AAA/sw",TestSwaggerController.class,"");
add( "/api/BBB/simple", SimpleController.class,"");
最后接口为:/api/AAA/sw/testSwagger,/api/BBB/simple/test6;
关键在于这‘/AAA’和‘/BBB’,如果我只配置basePath="/api"是扫不出的,只能配置basePath="/api/AAA",可是这样的话/BBB怎么办呢,毕竟basePath只有一个

小猪贝

2020-12-21 10:35

@steven_lhcb_9527 我说的basePath是swagger.properties里面的,不是配置路由里面的

小猪贝

2020-12-21 10:53

l745230

2020-12-21 10:59

@小猪贝 我明白你的意思了. 目前2.4版本的解析不支持. 我加下代码,一会更新到中央库去

l745230

2020-12-21 11:36

@小猪贝 更新2.5了,可以试下在swagger_resources中对不同的分组配置basePath

小猪贝

2020-12-21 14:12

@steven_lhcb_9527 没问题,改为2.5,maven刷新一下它自己就下载了

小猪贝

2020-12-21 14:17

@l745230 可以了,感谢

steven_lhcb_9527

2020-12-21 15:39

@JFinal 不管是传统的me.add()配置一遍路由还是@Path配置路由,都会在swagger.properties里面会再配一遍路由。这感觉就很难受。

l745230

2020-12-21 15:48

@steven_lhcb_9527 knife4j UI有文档分组的概念. 刚开始写这个解析的时候为了能适配UI,就这么处理了. 不过最新版的UI提供了可以隐藏左上角的设置. 后面有空的时候倒是可以优化下. 不配置swagger_resources,默认把全部的路由归纳到一个分组下.

l745230

2020-12-21 15:49

@steven_lhcb_9527 不过话说回来, swagger.properties配置一次后面也不用改 .一次性工作也还好...

steven_lhcb_9527

2020-12-21 16:05

@l745230 @Api(tags={}) tags相同的是一个组.感觉可以利用tags属性进行分组

l745230

2020-12-21 17:00

@steven_lhcb_9527 不一样. swagger_resources是根据包名生成文档分组. tags是描述接口的分组. 你可以试下多个controller设置的tags相同, UI会把这些Controller下的方法渲染到同一个tags中.

steven_lhcb_9527

2020-12-22 08:57

@l745230 你说的很对

steven_lhcb_9527

2020-12-22 09:09

@l745230 目前这个组件应该不支持微服务架构吧

523039704

2020-12-23 09:19

@l745230 更新到2.5以后设置头部之后,在接口中的请求头部参数为空貌似没有设置成功。用代码提供的demo 也是相同的情况。

l745230

2020-12-23 11:34

@523039704 在gitee上提个issu,截图说明下. 我看下啥情况.

l745230

2020-12-23 11:37

@steven_lhcb_9527 knife4j 有提供网关聚合文档功能. SpringCloud下使用的. 你可以看看官方的说明. 我提供的这个插件没考虑过微服务.

热门分享

扫码入社