JFinal集成SwaggerUI生成接口文档

以前用Spring的时候,使用的是SwaggerUI生成接口文档,不仅能随时更新反馈接口信息,同时提供接口测试功能,具体请参考https://swagger.io/swagger-ui/

然后使用JFinal的时候,发现官方没有提供集成方案,网上搜索有提供一个集成JDoc的,感觉界面和功能没有Swagger好,于是决定参考swagger-spring写JFinal集成SwaggerUI的插件

现在已经实现大体功能:

主要提供四个注解:

image.png

测试使用:

@ApiOperation(url = "/test", tag = "index", response = LogInfo.class, httpMethod = "get", description = "测试json")
@ApiParams({
        @ApiParam(name = "id", description = "编号", required = true, dataType = "Long"),
        @ApiParam(name = "name", description = "姓名", required = true, dataType = "String")
})
public void test() {
    System.out.println(getPara("id") + " ======== " + getPara("name"));
    LogUser user = new LogUser();
    user.setId(1L);
    renderJson(user);
}

最终效果图:image.png

image.pngimage.png

代码地址:http://git.oschina.net/leeckent/jfinal-swagger

评论区

jenk

2017-07-06 21:24

哥 插件呢?

leeckent

2017-07-06 21:46

@jenk 今天刚写好,集成到测试项目中了,代码有点乱,待整理后就会给出

lyh061619

2017-07-07 09:23

能否把插件分享下,让更多有需求的人使用。^_^

l745230

2017-07-07 09:30

小白鼠报名,刚好这几天有空,在补文档。JDoc的注释即文档,方便倒是方便,但是感觉还有挺多不足,如果能用上Swagger那是最好的了

JFinal

2017-07-07 11:05

这个分享很有价值,已收藏并点赞

再建议用一下 jfinal-java8 版本来整合做一下,jfinal-java8 这个版本直接支持 action 参数注入:https://git.oschina.net/jfinal/jfinal/tree/jfinal-java8/

l745230

2017-07-07 11:28

@JFinal 波总,虽然我也很想用java8,但是现实环境决定java8还是很难被用上, 所以还是要支持下非java8的版本啊~~~~

JFinal

2017-07-07 11:29

@l745230 非 java8 下的 action 参数注入方案不太简洁,java 8 下获取形参名的方法极为简单

当然,不用 java 8 的方案我也有一个简洁的,但没有时间去实现

zan7755

2017-07-07 14:55

支持用java8

leeckent

2017-07-08 03:03

代码已上传至 http://git.oschina.net/leeckent/jfinal-swagger,时间仓促,功能不够完善,代码也有待斟酌,望请见谅,此代码仅做参考示例,后续会慢慢调整和完善

leeckent

2017-07-08 09:45

@lyh061619 代码已上传,后续会持续调整

leeckent

2017-07-08 09:47

@JFinal 谢谢,才接触JFinal一周,有些不是很了解,简版代码已上传,后续会慢慢完善和调整

leeckent

2017-07-08 09:48

@l745230 代码已上传,后续会持续调整,现在也只是硬性的使用,后续会更新

leeckent

2017-07-08 09:52

@JFinal 准备把Swagger的功能彻底实现后,后续会针对jfinal-java8作整合,因为现在是尝试阶段,所以只做了简单的实现,还有很多问题待解决和完善,后续会慢慢更新

yjjdick1990

2017-07-08 14:51

@leeckent 等好久啦,谢谢

JFinal

2017-07-08 21:20

@leeckent 感谢你的分享

yjjdick1990

2017-07-09 11:08

@leeckent 我昨天试了你的SwaggerUI很好用,比Jdoc好用,但是有个问题请教一下,dataType我如果传一个Map或者数组我该怎么定义类型,在swaggerUI api界面我该怎么传值呢?

2017-07-12 17:16

出个java8的版本呗

YanZ

2017-07-16 14:27

@leeckent 加油点赞。

jiren

2017-07-27 19:43

@leeckent 为你点赞

xiaoKai

2017-08-03 14:21

先点赞. 顺便问下, 返回值 如何做到文字提示

喂你好吗

2017-12-15 16:22

Cannot read property 'definitions' of null 页面出现这个异常是什么原因呢

leeckent

2017-12-18 16:22

@喂你好吗 你好,能说下具体情况吗

rirai

2018-03-27 15:16

@leeckent 请问如何发送body(json)的参数?你的Param类的in字段只支持query或者path。我设置了body后,wagger-ui上无法编辑参数。(好像要提交body的schema才可以)

dengfeng

2018-05-15 17:44

@JFinal 我根据开发文档的配置了形参,但还是不能用形式参数接受,请求全部报404,不用形参就正常访问,请问怎么解决,很想用形参...

JFinal

2018-05-15 17:47

@dengfeng action 带参需要配置一个参数,这个在文档中介绍得很清楚:
http://www.jfinal.com/doc/3-3

热门分享

扫码入社