大家在进行Java学习的时候,也要学习一些API工具的使用。目前市场有哪些比较优秀的接口文档管理工具呢?Swagger Api接口文档工具到底如何,大致汇总一下吧!

1.Swagger

说到Swagger,他确实是为开发者发明的一款神器,他可以实现自动生成 API 接口文档,在线调试,非常的方便。Swagger 官方文档: https://swagger.io/。 项目接入: pom依赖:

    <dependency>        <groupId>io.springfoxgroupId>        <artifactId>springfox-swagger2artifactId>        <version>2.4.0version>    dependency>    <dependency>        <groupId>io.springfoxgroupId>        <artifactId>springfox-swagger-uiartifactId>        <version>2.4.0version>    dependency>

配置信息:

@Configuration@EnableWebMvc@EnableSwagger2public class SwaggerConfig extends WebMvcConfigurerAdapter {    @Bean    public Docket buildDocket() {        Docket docket =  new Docket(DocumentationType.SWAGGER_2)                .apiInfo(buildApiInf());        docket = docket.select()                .apis(RequestHandlerSelectors.any())//controller路径                .paths(PathSelectors.any()).build();        return docket;    }    @Override    public void addResourceHandlers(ResourceHandlerRegistry registry) {        registry.addResourceHandler("swagger-ui.html")                .addResourceLocations("classpath:/META-INF/resources/");          registry.addResourceHandler("/webjars/**")                 .addResourceLocations("classpath:/META-INF/resources/webjars/");    }    private ApiInfo buildApiInf() {        return new ApiInfoBuilder()                .title("RestAPI Docs")                .termsOfServiceUrl("http://www.github.com/kongchen/swagger-maven-plugin")                .build();    }}

Controller里的配置(例如):

@Api(value="客户API",tags={"客户API"})@RestController@RequestMapping("/api/customer/")public class CustomerController {    /**   * 更新采购商资料   *    * @return   * @throws Exception   */  @ApiOperation(value="更新商户信息", notes="根据Customer对象更新,SON格式:{\"id\":1,\"customerType\":\"..\",...}")  @ApiImplicitParam(name = "Json", value = "", dataType = "Json",required = true)  @ResponseBody  @RequestMapping(value="update", method=RequestMethod.POST, produces = {"application/json;charset=UTF-8"})  public JSONObject updateCustomer(HttpServletRequest request) throws Exception{        //TODO 代码逻辑  }}

启动项目,打开swagger,界面:http://192.168.1.101:9001/swagger-ui.html,

API接口文档模板管理工具_Java开发

再看看刚配置的接口:

API接口文档模板管理工具_Java开发_02

Swagger的接入特别简单,还可以在线调试。

2.apizza

Apizza也是我们项目中使用过的,是从Swagger 转到Apizza。而却他是极客专属的api协作管理工具,免费的团队协作,在线模拟调试,快速生成api文档,导出离线版文档。

API接口文档模板管理工具_Java开发_03

项目Api接入:

只需在Apizza官网(https://apizza.net)申请账号,创建项目,并手写添加接口文档。

主要功能

api跨域调试量身定制的chrome插件,本地,在线接口,都可以调。

云端存储,企业安全版支持本地数据中心。

一键分享,与团队共享你的API文档。

支持Postman,Swagger格式 导入Postman/Swagger Json 生成文档。

导出离线文档,部署本地服务器。

api Mock 根据文档自动生成返回结果,提供独立URL方便前端测试。

支持多种文档 http接口文档,markdown说明文档。

Apizza接口文档工具有一个很大不足的地方,那是Apizza个人免费版有人数限制,所有超过8人的团队如果想免费用,你是不用考虑Apizza的。

API接口文档模板管理工具_Java开发_04

3.Yapi

Yapi是去哪儿网开源的一款接口管理工具。Yapi旨意将接口作为一个公共的可视化的方式打通前端、后台、测试环节,整合在一块,共同使用维护,提高接口的维护成本。Yapi是一款免费开源的Api接口文档工具,需要下载部署在自己的服务器上。

API接口文档模板管理工具_Java开发_05

主要特点如下:

权限管理 YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求;

可视化接口管理 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率;

Mock Server 易用的 Mock Server,再也不用担心 mock 数据的生成了;

自动化测试 完善的接口自动化测试,保证数据的正确性;

数据导入 支持导入 swagger, postman, har 数据格式,方便迁移旧项目;

插件机制 强大的插件机制,满足各类业务需求;

API接口文档模板管理工具_Java开发_06

这里关于Yapi的安装就不详细介绍了。Yapi安装需事先安装 nodejs、 mongodb、git应用。 这篇主要讲了Api接口文档工具,整体来说,感觉这三款都不错。