Jboot v3.10.1 发布,带来市面上最好用的 api 文档工具

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Jboot 一个更简单的分布式、微服务框架。 Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐...

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 示例 等等

 

Jboot v3.10.1 发布,带来市面上最好用的 api 文档工具

查看更多的示例,大家可以参考网址: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 开发文档:

http://www.jboot.io

同时,Jboot 官方也推出了收费的、企业级快速开发框架 JbootAdmin (如下图所示),真诚的为各位开发者提供一站式、保姆式服务。请咨询海哥。

Jboot v3.10.1 发布,带来市面上最好用的 api 文档工具

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);
    }
}

以上所述就是小编给大家介绍的《Jboot v3.10.1 发布,带来市面上最好用的 api 文档工具》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java Web服务:构建与运行

Java Web服务:构建与运行

Martin Kalin / 任增刚 / 电子工业出版社 / 2009年11月 / 45.00元

本书以示例驱动的方式详尽地介绍了XML Web服务(JAX-WS)和RESTful Web服务(JAX-RS)二者所涵盖的Java相关API。 《Java Web服务:构建和运行》这本书以清晰、务实的方法讲述Web服务相关技术,提供了混合性的架构总结、完全可以运行的代码示例,以及编译、部署和执行应用程序的一些短小精悍的指令。学习本书,读者将掌握如何从零开始编写Web服务或将已有的服务整合到现......一起来看看 《Java Web服务:构建与运行》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具