首页 > 编程语言 >【Java - 框架 - Knife4j】(01) SpringBoot整合Knife4j - 快速上手

【Java - 框架 - Knife4j】(01) SpringBoot整合Knife4j - 快速上手

时间:2024-03-23 13:32:42浏览次数:22  
标签:Knife4j 01 Java String documentation private import springfox

“SpringBoot"整合"Knife4j” - 快速上手;

环境

  • “Knife4j"版本"2.0.9”;
  • “Java"版本"1.8.0_202”;
  • “Spring Boot"版本"2.5.9”;
  • “Windows 11 专业版_22621.2428”;
  • “IntelliJ IDEA 2021.1.3(Ultimate Edition)”;

步骤

步骤A

说明

  • 创建"Spring Boot"项目;

图片

(1)

在这里插入图片描述

(2)

在这里插入图片描述

(3)

在这里插入图片描述

步骤B

说明

  • 添加相关依赖项;

图片

在这里插入图片描述

代码

【说明】

  • 文件"pom.xml";
  • 直接"CV"即可;
<!-- Knife4j Spring Boot:在线API -->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
   <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.9</version>
</dependency>

步骤C

说明

  • 初次启动项目;

图片

在这里插入图片描述

步骤D

说明

  • 创建配置类;

图片

在这里插入图片描述

代码

【说明】

  • 文件"Knife4jConfiguration.java";
package com.example.knife4jdemo.config;

import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

/**
 * Knife4j配置类
 *
 * @author SUNxRUN
 * @version 0.0.1
 */
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
    /**
     * 【重要】指定Controller包路径
     */
    private String basePackage = "com.example.knife4jdemo";
    /**
     * 分组名称
     */
    private String groupName = "略";
    /**
     * 【主页】题目
     */
    private String title = "在线API文档";
    /**
     * 【主页】简介
     */
    private String description = "前后交互";
    /**
     * 【主页】作者
     */
    private String contactName = "SUNxRUN";
    /**
     * 【主页】版本
     */
    private String version = "1.0.0";
    /**
     * 【主机】host
     */
    private String host = "http://localhost:8080";
    /**
     * 【主页】服务URL
     */
    private String termsOfServiceUrl = "http://www.apache.org/licenses/LICENSE-2.0";
    /**
     * 联系网址
     */
    private String contactUrl = "略";
    /**
     * 联系邮箱
     */
    private String contactEmail = "略";


    @Autowired
    private OpenApiExtensionResolver openApiExtensionResolver;

    public Knife4jConfiguration() {
        System.out.println("【配置类】Knife4jConfiguration-----已运行");
    }

    @Bean
    public Docket docket() {
        String groupName = "1.0.0";
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .host(host)
                .apiInfo(apiInfo())
                .groupName(groupName)
                .select()
                .apis(RequestHandlerSelectors.basePackage(basePackage))
                .paths(PathSelectors.any())
                .build()
                .extensions(openApiExtensionResolver.buildExtensions(groupName));
        return docket;
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(title)
                .description(description)
                .termsOfServiceUrl(termsOfServiceUrl)
                .contact(new Contact(contactName, contactUrl, contactEmail))
                .version(version)
                .build();
    }

}

步骤E

说明

  • 设置配置项;

图片

在这里插入图片描述

代码

【说明】

  • 文件"application.properties";
# 开启Knife4j增强模式
knife4j.enable=true

步骤F

说明

  • 最终启动项目;

图片

在这里插入图片描述

标签:Knife4j,01,Java,String,documentation,private,import,springfox
From: https://blog.csdn.net/HIGK_365/article/details/136921549

相关文章

  • java框架漏洞的学习笔记
    网络安全学习之框架漏洞学习框架漏洞的意义一、spring框架常见漏洞spring简介Actuators介绍spring区分默认路径SpringBoot历史漏洞springboot常见端点二丶Shiro框架反序列化漏洞shiro框架介绍Shiro漏洞原理三丶Tomcat任意文件写入(CVE-2017-12615)漏洞原理影响范围总结......
  • 【华为OD】2024年C卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript
    2024年C卷真题题集题库,有2种分数的题目列表,分别是100分的列表、200分的列表需要订阅请看链接:C卷100分真题集质量分:94价格:39.9元C卷200分真题集质量分:94价格:99.9元从2023年11月开始,华为OD题目切换到C卷,基本上大概率会使用半年左右,要在2024年5月之前把这些题目都好好练习一下......
  • Java中过滤器应用一统一处理请求和响应中文乱码
      请求/响应中文乱码演示写一个简单的Servlet进行测试,返回数据的时候,会出现中文乱码如下图所示。有时候请求的数据中如果包含中文,如果没有经过处理,同样会出现中文乱码。 解决办法出现中文乱码时,就可以考虑统一处理,如果不统一处理,在每一个Servlet中,如果数据返回中有中文,......
  • Java中使用fastJson
     FastJson简介Fastjson是阿里巴巴开发的一个开源Java库,用于处理JSON数据,广泛应用于Web服务、API接口、数据交换等多个场景。FastJson的作用主要作用是用于将Java对象转换为JSON格式,或将JSON字符串转换为Java对象。它可以操作任何Java对象。主要特性有:.a.高性能:采......
  • 【React】使用 JSX 为 JavaScript 添加标签
    使用JSX为JavaScript添加标签实际上是将JSX语法与JavaScript代码结合使用,以描述用户界面。JSX允许你在JavaScript中编写类似HTML的结构,并最终由React库将其转换为真正的DOM元素。以下是将标签引入JavaScript以及将HTML转化为JSX的步骤和JSX的一些基本......
  • 第十四届蓝桥杯大赛软件赛省赛Python 《01串的熵》
    问题描述问题类型暴力,枚举、问题分析由例题知对于一个长度为L的01串,设0出现的次数为x,则1出现的次数为L-x,其信息熵整理后可表示为:基于此,我们可以给出当长度L=23333333的01串,其信息熵为11625907.5798时,该字符串中0和1的个数分别为多少。题目限制0出现的次数比1少,可以通过......
  • 是时候来唠一唠synchronized关键字了,Java多线程的必问考点!
    写在开头在之前的博文中,我们介绍了volatile关键字,Java中的锁以及锁的分类,今天我们花5分钟时间,一起学习一下另一个关键字:synchronized。synchronized是什么?首先synchronized是Java中的一个关键字,所谓关键字,就是Java中根据底层封装所赋予的一种具有特殊语义的单词,而synchronized......
  • Java学习笔记:ArrayList集合
    目录为什么要有集合:解决数组自动扩容的问题Java、python数据类型对比Java支持的数据类型主要分为两大类:Python支持多种数据类型,主要包括以下几种:在Java中常见的数据类型实现方式:Java通过使用集合框架来解决一组数据的存储和管理Java集合大致也可分成List、Set、Queue、Map四种接口......
  • Java随机读写文件
    目录1. 构造方法2.文件指针3.读写操作4.应用示例       文件输入输出流类(FileInputStream和FileOutputStream)实现了对磁盘文件的顺序读写,然而在实际的应用中,经常需要在文件的任意位置读或写数据,并且要求同时进行读和写操作。为此,Java还提供了一个功能更强大、......
  • java数据结构与算法基础-----排序------堆排序
    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846文章目录堆排序是利用堆(数据结构)设计的排序算法,属于选择排序,最坏,最好,平均时间复杂度均为O(nlogn),不稳......