栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jfinal集成knife4j-swagger经过的各种坑,到最后的成功。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jfinal集成knife4j-swagger经过的各种坑,到最后的成功。

现有环境: jfinal-2.0,jdk 1.8,集成swagger.

一、经过各种折腾,网上搜集,一开始集成jfinal-swagger,该项目位置:jfinal-swagger: jfinal 集成 Swagger 结果发现该项目没人维护不说,不支持返回值说明。

二、后又找到jfinal-swagger-knife4j项目,项目位置:jfinal-swagger-knife4j: JFinal集成Swagger 

该项目实现了jfinal-knife4j的集成,默认使用@ApiRes注解,标注返回参数时,使用的是默认的框架中自定义的实体类,如想自定义返回实体,可使用@ApiResCustom 注解实现。

但该项目为jfinal-4.9,自己的项目中为jfinal-2.0,经过查看该项目源代码,锁定到的jfinal2.0中没有Engine类,经过各种搜索后,发现jfinal作者有一个enjoy项目,该项目和jfinal框架没有任何关系,可在spring中使用,不依赖jfinal框架,而这点正好补足了jfinal-2.0的不足,说到这里可能有读者想说,为什么不直接升级到jfinal-4.9,因为公司的项目是一个很老的项目,如果要该的话,估计会有很多改动,主要是leder不让改,外加各种公司环境的原因,不能改。所以想到的在jfina-2.0基础上外挂enjoy.jar包来解决集成jfinl-swagger-kenife4j这个开源项目。enjoy的项目地址:enjoy.

三、接下来说一下jfina-swagger-knife4j这个开源项目在集成过程中的坑。

有关swagger.properties文件中的问题。

1.basePath这个属性,如您当前的上下文是/  则需要注释掉这个属性,否则当前请求的url会少一位。比如/zrr/user 会变成/rr/user。

2.contextPath这个属性,如您当前的上下文不是空,如加上当前项目的上下文,存在找不到资源文件问题,但是请求css等资源文件的http状态码为200,但是下载下来的文件是空的。解决办法,去掉所有上下文,使用/来作为当前项目上下文。有关这点可能存在疑点,后期进行验证。

3.有关无缘无故的NullpointerException问题,可能为用@ApiModel标记的实体类中存在没有使用@ApiModelProperty注解来标记的字段,则会出现该问题,解决办法:在该字段中使用@ApiModelProperty(hidden=true)即可解决问题。

致辞完成的jfinal-swagger-knife4j的整个集成过程,如有相关疑问,请留言。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号