Jboot v3.10.1 发布,带来市面上最好用的 api 文档工具
Jboot 一个更简单的分布式、微服务框架。
Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐生活。
到目前为止,Jboot 已经开源超过了 5 年的时间,迭代了 200+ 个版本,已经被超过 1000+ 公司在使用,其中包含了多个知名的上市公司,我们了解到的多个使用 Jboot 开发的产品,用户量超过 1亿 以上。
从 Jboot v3.10.0 的开始,带来了自研的 API 文档生成工具。目前市面上的 API 文档工具生成,有非常多的弊端,就拿大名鼎鼎的 Swagger 对比 Jboot 而言。Swagger 有以下几个缺点:
缺点1:大量的繁杂注解,而 Jboot 只有 3 个,比如:
Swagger:
@ApiOperation(value="更新用户详细信息", notes="...") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long"), @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") }) @RequestMapping(value="/{id}", method=RequestMethod.PUT) public String putUser(@PathVariable Long id, @RequestBody User user) { User u = users.get(id); u.setName(user.getName()); u.setAge(user.getAge()); users.put(id, u); return "success"; }
Jboot:
@ApiOper(value="更新用户详细信息", notes="...") public String putUser(@ApiPara('用户ID')Long id, @ApiPara('用户详细实体use')@JsonBody User user) { User u = users.get(id); u.setName(user.getName()); u.setAge(user.getAge()); users.put(id, u); return "success"; }
缺点2:Swagger 无法自动推导参数类型,而 Jboot 可以自动推导更加智能。
Jboot:
@ApiOper(value="更新用户详细信息", notes="...") public String putUser(@Min(1) Long id, @NotNull @JsonBody User user) { ... }
在 Jboot 中,有很多的验证注解,比如 @Email、@NotNull、@Min、@NotEmpty... 等等注解会自动推导并放到文档(或者测试前端)进行显示或自动验证。
除了这些验证注解以外,Java 类型,返回参数等等都可以智能的进行自动推导。
缺点3:Swagger 只能通过其前端进行查看文档或进行测试验证。而 Jboot 可以扩展适配任何的测试框架,比如 Postman、OpenAPI 等等... 又可以生成 Markdown 文档、Html、Word 等等类型文档。
缺点4:Swagger 对 Model 生成的数据需要一大堆的 ApiModel 和 ApiModelProperty 注解,而 Jboot 可以直接通过数据库表的字段注释直接生成,无需手动注解维护。
比如:如下的截图是 Jboot 自动生成的文档,包含了 请求参数信息、是否进行非空验证、请求参数相关含义、返回值、返回值相关字段信息、 Json 示例 等等。
查看更多的示例,大家可以参考网址:http://doc.jpress.io/development/api/api_user.html ,其内容全部都是 Jboot 自动生成的。
接下来,除了文档以外,Jboot 会推出一些企业的功能,放在 JbootAdmin 里给到企业用户,比如 API 自动测试、 API Mock,一键导入到 Postman 、自动根据 Controller 接口、自动生成 微信小程序的 SDK 、Java SDK 等等功能... 敬请期待。
总而言之:Swagger 需要繁杂的注解,无法自动推导,而且,相对市面上的其他文档框架而言,Jboot 的代码是生成工具又是最为灵活和轻量的,除了 Model 定义,5个类就实现了以上全部的功能。
Jboot v3.10.1 更新内容如下:
- 新增:ApiDoc 新增 allInOne 模式,方便把所有 api 生成到一个文档里
- 新增:@Api() 注解新增 orderNo 的配置
- 新增:可以通过 api-remarks.json 和 api-mock.json 为文档配置 json 输出
- 新增 "ApiJsonGenerator",用于生成通过数据库生成 api-remarks.json 和 api-mock.json 文件
- 新增:ApiDoc 文档新增自定义排序 Comparator 配置的支持
- 新增:ApiDoc 新增自定义 ApiMockBuilder 的支持,用于构建任意 Model 的 Mock 数据
- 新增:"@ApiResp" 注解,用于对 JFinal 通过 render 而非返回值的形式的支持
- 新增:ApiDocument 等信息添加序列化的支持
Jboot 开发文档:
同时,Jboot 官方也推出了收费的、企业级快速开发框架 JbootAdmin (如下图所示),真诚的为各位开发者提供一站式、保姆式服务。请咨询海哥。
Maven 依赖:
<dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>3.10.1</version> </dependency>
Hello World:
@RequestMapping("/") public class HelloWorld extends JbootController { public void index(){ renderText("hello world"); } public static void main(String[] args){ JbootApplication.run(args); } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Gradle 7.1.1 发布
Gradle 7.1.1 现已发布。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具,支持依赖管理和多项目,类似Maven,但比之简单轻便。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。 v7.1.1是 Gradle 7.1 的补丁版本,它修复了以下问题: #17488许多 Micronaut 构建在使用 Gradle 7.1 和 JDK 8 的 NPE 时失败 #17548[配置缓存] 任务不是最新的 SantaTracker #17542[配置缓存] 过滤 FC,映射元素存储不正确 官方建议用户升级到7.1.1。 升级说明 通过更新包装器将构建切换为使用 Gradle 7.1.1: ./gradlew wrapper --gradle-version=7.1.1 参阅Gradle 7.x 升级指南,了解升级到 Gradle 7.1.1 时的弃用、重大更改和其他注意事项。 更新说明:https://github.com/gradle/gradle/releases/tag/v7.1.1
- 下一篇
skyeye-report 1.1.6 发布,高性能报表引擎
skyeye-report 是一款高性能的 Java 报表引擎,提供完善的基于网页的报表设计器,可快速做出各种复杂的中式报表。支持多种数据源以及拖拽式报表功能,支持大屏报表设计。 该产品于2021年五月初新开项目,后续不断更新和维护。 注意事项 开源不易,给个star吧 本系列其他商业产品:https://docs.qq.com/doc/DQlRxcVRMWWVjbU1i?_from=1&disableReturnList=1 免费进QQ群:1016439713。禁止发广告、招人信息等,一经发现直接踢出。 不会搭建环境的,可以出钱让作者帮忙搭建,一次100,先付 该报表引擎属于开源软件,商业用途请保留作者相关信息以及产品著作权信息 以下条例视为侵权操作: a.下载项目后,私自修改项目出处、署名、版权、项目名称等信息 b.允许商用,但禁止以盈利为目的进行销售(意思就是说禁止销售) c.私自修改项目默认首页信息 skyeye-report 1.1.6版本更新内容: 新增报表背景图设置 系统提供20多种报表背景图可供选择 新增盒子属性控制,新增delete删除操作 解决最大版本号模型...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库