springboot集成knife4j接口文档

简介: springboot集成knife4j接口文档

一、介绍

在前后端配合开发中,后端人员提供的接口文档对前后端的完美配合往往起到举足轻重的作用,一个漂亮美观且功能强大的接口文档更是可以轻易获得前端妹子的青睐。而传统的接口文档插件swagger在漂亮美观功能强大方面它却一边的都不沾。今天给大家介绍一款基于swagger并作出增强的接口文档插件:kniife4j,推荐它的理由是漂亮美观且功能强大,且集成过程简单。下面是它的示例图

kniife4j效果图.png


下面我们开始将knife4j接口文档插件集成进springboot项目中。


二、第一步:添加pom依赖

<!-- 引入knife4j依赖 -->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>

三、第二步:添加knife4j配置类

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
   
   

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
   
   
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        //.title("swagger-bootstrap-ui-demo RESTful APIs")
                        .description("学生服务")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact("xx@qq.com")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.idealhooray.student.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

四、第三步:业务接口

@Api(tags = "男学生")
@RestController
@RequestMapping("/boy")
public class BoyStudentController {
   
   

    @ApiOperation("根据姓名获取男学生")
    @ApiImplicitParam(name = "name", value = "姓名", required = true, paramType = "query")
    @GetMapping("/byName")
    public String getBoyStudentByName(@RequestParam("name") String name) {
   
   

        return "男学生:" + name;
    }
}
@Api(tags = "女学生")
@RestController
@RequestMapping("/girl")
public class GirlStudentController {
   
   

    @ApiOperation("根据姓名获取女学生")
    @ApiImplicitParam(name = "name", value = "姓名", required = true, paramType = "query")
    @GetMapping("/byName")
    public String getGirlStudentByName(@RequestParam("name") String name) {
   
   

        return "女学生:" + name;
    }

}

五、项目结构

src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─idealhooray
│  │  │          └─student
│  │  │              ├─config
│  │  │                  └─Knife4jConfiguration.java
│  │  │              └─controller
│  │  │                  └─BoyStudentController.java
│  │  │                  └─GirlStudentController.java
│  │  │               └─StudentApplication.java
│  │  └─resources
│  │     └─application.yml

六、第四步:打开接口文档

启动项目后,打开接口文档http://ip:port/doc.html

kniife4j效果图.png

相关文章
|
1月前
|
NoSQL 关系型数据库 MySQL
SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘
76 2
|
1月前
|
JavaScript 前端开发 Java
SpringBoot 引入 smart-doc 接口文档管理插件,以及统一接口返回,最后推送到 Torna,进行统一管理
本文介绍了如何在SpringBoot项目中整合smart-doc接口文档管理插件,实现接口文档的生成和统一管理,并展示了如何将文档推送到Torna接口文档管理系统进行进一步的集中管理。
102 0
SpringBoot 引入 smart-doc 接口文档管理插件,以及统一接口返回,最后推送到 Torna,进行统一管理
|
1月前
|
NoSQL Java Redis
Spring Boot集成Redis全攻略:高效数据存取,打造性能飞跃的Java微服务应用!
【8月更文挑战第3天】Spring Boot是备受欢迎的微服务框架,以其快速开发与轻量特性著称。结合高性能键值数据库Redis,可显著增强应用性能。集成步骤包括:添加`spring-boot-starter-data-redis`依赖,配置Redis服务器参数,注入`RedisTemplate`或`StringRedisTemplate`进行数据操作。这种集成方案适用于缓存、高并发等场景,有效提升数据处理效率。
240 2
|
25天前
|
Java Spring
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
|
25天前
|
Java Spring
【Azure 事件中心】Spring Boot 集成 Event Hub(azure-spring-cloud-stream-binder-eventhubs)指定Partition Key有异常消息
【Azure 事件中心】Spring Boot 集成 Event Hub(azure-spring-cloud-stream-binder-eventhubs)指定Partition Key有异常消息
|
2月前
|
JSON 缓存 Java
Spring Boot集成 Swagger2 展现在线接口文档
本节课详细分析了 Swagger 的优点,以及 Spring Boot 如何集成 Swagger2,包括配置,相关注解的讲解,涉及到了实体类和接口类,以及如何使用。最后通过页面测试,体验了 Swagger 的强大之处,基本上是每个项目组中必备的工具之一,所以要掌握该工具的使用,也不难。
|
1天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的音乐推荐管理系统
基于Java+Springboot+Vue开发的音乐推荐管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的音乐推荐管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
31 8
基于Java+Springboot+Vue开发的音乐推荐管理系统
|
1天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的母婴商城管理系统
基于Java+Springboot+Vue开发的母婴商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的网上母婴商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
19 7
基于Java+Springboot+Vue开发的母婴商城管理系统
|
2天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的在线摄影预约管理系统
基于Java+Springboot+Vue开发的在线摄影预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的在线摄影管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
17 8
基于Java+Springboot+Vue开发的在线摄影预约管理系统
|
2天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的农产品商城管理系统
基于Java+Springboot+Vue开发的农产品商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。 通过学习基于Java的农产品商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
15 5
基于Java+Springboot+Vue开发的农产品商城管理系统