SpringBoot使用knife4j进行在线接口调试

前言

我们在开发一个Java Web的项目,如果项目整体采用前后端分离的架构的方式,我们会经常使用Swagger来进行接口调试和为前端提供接口文档,但是Swagger并没有实际上那么方便,比如我们在发送Post请求时,参数选填还是非常不友好,那么有没有更好的工具呢?

正文

knife4j

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,具有小巧,轻量,并且功能强悍的优点。

Knife4j提供两大核心功能:文档说明 和 在线调试

文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。

在线调试:提供在线接口联调的强大功能,自动解析当前接口参数,同时包含表单验证,调用参数可返回接口响应内容、headersCurl请求命令实例、响应时间、响应状态码等信息,帮助开发者在线调试,而不必通过其他测试工具测试接口是否正确,简洁、强大。

SpringBoot使用knife4j进行在线接口调试

注入依赖

<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>2.0.4</version>
</dependency>

SwaggerConfig.class :knife4j配置类

@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfig {

  /**
   * 这里配置swagger扫描的包
   * @return
   */
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors
            .basePackage("com.luo.producer"))
        .paths(PathSelectors.any()).build();
  }

  /**
   * 这里配置swagger对外提供服务的端口
   * @return
   */
  private ApiInfo apiInfo() {
    return new ApiInfoBuilder().title("发布模拟boos接口")
        .description("简单优雅的发布模拟boos接口restful风格接口")
        // .termsOfServiceUrl("http://127.0.0.1:8080/doc.html")
        .version("1.0").build();
  }
}

验证

测试接口

@RestController
@Slf4j
public class UserController {
  @GetMapping("/helloword")
  public String hello(String input){
    return "你好,"+input;
  }
 }

启动项目后:访问http://127.0.0.1:8080/doc.html

访问测试接口,进行测试:

到此这篇关于SpringBoot使用knife4j进行在线接口调试的文章就介绍到这了,更多相关SpringBoot knife4j在线接口调试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Springboot2整合knife4j过程解析

    knife4j官网:https://doc.xiaominfo.com/guide/useful.html 这玩艺就swagger的升级版,但是用起来比swagger方便多了,至少不会出现莫名的版本兼容问题 下面记录一个配置示例 1.代码结构 2.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0&

  • SpringBoot使用knife4j进行在线接口调试

    前言 我们在开发一个Java Web的项目,如果项目整体采用前后端分离的架构的方式,我们会经常使用Swagger来进行接口调试和为前端提供接口文档,但是Swagger并没有实际上那么方便,比如我们在发送Post请求时,参数选填还是非常不友好,那么有没有更好的工具呢? 正文 knife4j knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,具有小巧,轻量,并且功能强悍的优点. Knife4j提供两大核心功能:文档说

  • SpringBoot集成Swagger2构建在线API文档的代码详解

    第一部分:代码集成 pom.xml <!--swagger2配置--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>i

  • Springboot集成knife4j实现风格化API文档

    POM引入插件 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <!--在引用时请在maven中央仓库搜索最新版本号 --> <version>2.0.3</version> </dependency> 配置加载 package com.p

  • Java基础之SpringBoot整合knife4j

    插件的特点 1.非常简洁清爽的UI设计,接口的快速搜索. 2.支持个性化设置,个性化设置包含: 请求参数缓存 动态请求参数 RequestMapping接口过滤 HOST代理设置 3.全局参数设置,可以很方便的设置Token等权限认证参数. 4.离线API文档下载: Markdown(已支持) Html(已支持) Word(已支持) OpenApi(已支持) 5.对 json 格式的数据有更好的支持,可以折叠展开等. knife4j官方文档地址 : https://doc.xiaominfo.c

  • springboot中使用redis并且执行调试lua脚本

    目录 原因: 1.创建一个基本的web项目 2.配置redis 3.测试redis 的lua脚本 4.技术点 5.调试方式 1.进入服务关闭关闭正在运行的服务器 2.从命令行启动redis 3.在lua脚本中增加打印 4.运行代码 6.总结 今天有个项目需要使用redis,并且有使用脚本的需求.但是因为之前没有写过,所以还有一点点不熟悉,今天记录一下. 原因: 原子操作,redis会将整个脚本作为一个整体执行,中间不会被其他命令插入. 1.创建一个基本的web项目 文件 ->新建 -> 项目,

  • Cisco路由器全局调试\接口调试\协议调试

    全局调试 在配置Cisco路由器时,全局和接口命令的界限是十分明显的.在这种情况下,我们使用"全局"来标识那些不能用于接口调试或者特定的传输介质类型和协议调试的命令.例如,在2500系列路由器中,就可以使用调试命令分析Cisco发现协议(Cisco Discovery Protocol,CDP).我们通过telnet远程登录到路由器.在缺省方式下,调试命令的输出被发送到控制台,如果处于telnet会话中,我们可以使用terminal monitor命令查看输出. 接口调试 debug

  • 使用ngrok+express解决本地环境中微信接口调试问题

    在微信项目的开发的时候,经常需要对微信jssdk提供的接口进行调试,比如说录音, 分享 ,上传图像等接口,但是微信jssdk要求绑定安全域名才能使用其提供的一系列功能 , 而在开发环境中使用localhost或者本地ip无法完成域名的认证和绑定, 所以无法在本地调试 .当然有一种迫不得已方法 ,就是在本地开发完 ,打包发到公司的测试服务器上 ,利用测试服务器认证后的域名进行调试,每次改动,调试都要发一遍测试,显然这种方法非常麻烦且很不科学,所以这篇文章就针对这个问题介绍一下如何利用ngrok和e

  • SpringBoot下如何实现支付宝接口的使用

    这篇文章主要介绍了SpringBoot下如何实现支付宝接口的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前期准备: 参考之前写过的 支付宝接口引入servlet版本 Jar包引入: <!-- 支付宝 --> <dependency> <groupId>net.guerlab</groupId> <artifactId>sdk-alipay-starter</artifactId&g

  • 教你利用springboot集成swagger并生成接口文档

    效果图 实现步骤 1.maven中引入jar包,不同版本的swagger可能页面效果不一样. <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId&g

  • SpringBoot使用protobuf格式的接口方式

    SpringBoot使用protobuf格式的接口 建立SpringBoot项目,pom.xml内容如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche

随机推荐