前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >还在使用Swagger吗,快来试试这款强大的在线API工具

还在使用Swagger吗,快来试试这款强大的在线API工具

作者头像
永恒君
发布2022-12-06 15:39:28
2990
发布2022-12-06 15:39:28
举报
文章被收录于专栏:开源小分队开源小分队

大家好,我是可爱又机灵的开源小妹。

今天给大家分享一个非常好用的在线文档工具:Knife4j

背景

现在分工越来越明确,做项目也都是前后端分离,这样就和前端沟通越来越多,包括现在微服务架构也越来越流行,服务就会进行拆分,各个服务之间有不同的团队开发,这个时候一份简洁完善的在线API接口就很有必要了,可以提提高大家的工作效率,减少一些不必要的沟通。Knife4j就是在线API文档的佼佼者,不仅提供了美观的在线API文档,还有其他的一些特性例如:全局参数、个性化设置、资源安全等,大家跟着小妹一块来看看吧。

快速入门

加入依赖

代码语言:javascript
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>2.0.9</version>
</dependency>

简单配置

代码语言:javascript
复制
@Configuration
@EnableSwagger2WebMvc
public class KnifeConfiguration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
             .groupName("V1版本")
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Knife Simple Demo APIs")
                .description("Knife Simple Demo")
                .version("1.0")
                .build();
    }
}

访问地址:http://localhost:8080/doc.html,其中端口是自己服务的端口信息,小妹这边配置的是8080端口

image-20211114190908046

选择调试,进行访问

image-20211114191030633

看起来是不是很简洁,很清楚呢,和前端小伙伴对接的效率都提高了不少。

对比

在使用Knife4j之前,小妹一直使用的是swagger,那为什么要从swagger出来入坑到Knife4j呢?

两个在简单时候用上配置&依赖都差不多,Knife4j是在swagger的ui基础上做了增强。在后端使用上基本是一样的,主要体现在前端效果上

swagger页面效果如下:

image-20211114195113293

image-20211114195138295

swagger展示api的方式是一条一条的,不像Knife4j那样是以左侧菜单的方式进行展示的,Knife4j更符合操作习惯 并且功能更丰富。

Knife4j实际上是基于swagger开发的一个增加的UI包,所以不是说swagger不够好,而是说Knife4j的页面展示或者操作更加方便。

如果正在使用swagger想转到Knife4j的话只需要稍微改动一下依赖 基本就可以转入看到Knife4j样式的在线api了。

高级使用

上面小妹介绍了Knife4j的简单使用,Knife4j还有一些其他强大的配置,更丰富的功能,跟着小妹一块去看看吧。

可以导出4种离线文档

markdown格式

html格式

word格式

OpenApi格式

全局参数设置

在进行接口调试的时候,有时需要带上头信息,如果一个一个接口写比较麻烦,Knife4j提供了全局参数设置,只需设置一遍,后续Debug调试页则会带上添加的参数。

分组搜索

代码语言:javascript
复制
//设置分组
.groupName("V1版本")
可以选择对应的组查看对应的api,当api多的的时候 可以输入关键字进行搜索。

小妹总结

Knife4j不止上面介绍的那几种特性设置,还有其他的例如授权、功能增强、个性化设置、国际化等等,小妹就不在这里一一介绍了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 快速入门
    • 加入依赖
      • 简单配置
      • 对比
      • 高级使用
      • 小妹总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档