首页 > 编程语言 >Java 后端整合 Swagger + Knife4j 接口文档

Java 后端整合 Swagger + Knife4j 接口文档

时间:2023-09-17 15:57:46浏览次数:47  
标签:Knife4j Java name 接口 文档 value Swagger com public

官方文档: https://doc.xiaominfo.com/docs/quick-start

环境

SpringBoot 版本2.7.2

JDK版本 1.8

1.引入依赖

        <!-- https://doc.xiaominfo.com/knife4j/documentation/get_start.html-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>

2.在application.yml中配置

spring:
    mvc:
        pathmatch:
            # 配置策略
            matching-strategy: ant-path-matcher

3.添加配置类

注:bassPackage需要填写下controller的路径

千万注意:线上环境不要把接口暴露出去!!!可以通过在 SwaggerConfig 配置文件开头加上 @Profile({"dev", "test"}) 限定配置仅在部分环境开启

@Configuration
@EnableSwagger2
@Profile({"dev", "test"})
public class Knife4jConfig {
​
    @Bean
    public Docket defaultApi2() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("接口文档")
                        .description("yskapi-backend")
                        .version("1.0")
                        .build())
                .select()
                // 指定 Controller 扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.ysk.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

4.在controller中写好接口相应的信息

@Api(tags = "首页模块")
@RestController
public class IndexController {
​
    @ApiImplicitParam(name = "name",value = "姓名",required = true)
    @ApiOperation(value = "向客人问好")
    @GetMapping("/sayHi")
    public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){
        return ResponseEntity.ok("Hi:"+name);
    }
}

5.访问地址

端口对应,正常访问http://localhost:8080/doc.html

如果配置类当中有配置路径,则需要加上

server:
  address: 0.0.0.0
  port: 8080
  servlet:
    context-path: /api

则访问:http://localhost:8080/api/doc.html

6.最终效果

image-20230917154508854

image-20230917154520515

标签:Knife4j,Java,name,接口,文档,value,Swagger,com,public
From: https://www.cnblogs.com/ysk0904/p/17708916.html

相关文章

  • 无涯教程-JavaScript - CSCH函数
    描述CSCH函数返回以弧度指定的Angular的双曲余割值。语法CSCH(number)争论Argument描述Required/OptionalNumberTheangle(inradians)thatyouwanttocalculatethehyperboliccosecantof.RequiredNotes双曲余割值的等式为-$$csch\left(x\right)=\frac......
  • Java内存模型
    Java内存模型(JavaMemoryModel,JMM)定义了Java程序在多线程环境下如何与主内存和工作内存交互的规范。JMM规定了变量的可见性、原子性和顺序性等方面的规则,保证了多线程程序的正确性和可靠性。Java内存模型包括以下几个核心概念:主内存(MainMemory):主内存是Java虚拟机中线程共享......
  • 无涯教程-JavaScript - COSH函数
    描述COSH函数返回数字的双曲余弦值。语法COSH(number)争论Argument描述Required/OptionalNumberAnyrealnumberforwhichyouwanttofindthehyperboliccosine.RequiredNotes双曲余弦的公式为-$$COSH\left(z\right)=\frac{e^2+e^{-2}}{2}$$适用......
  • 基于JAVA的校园顺路代送微信小程序
    现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园顺路代送微信小程序就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到......
  • 【java基础】冒泡排序 正序倒叙排序 【一眼就会系列】
    //本节课:1、数组冒泡排序:倒序、正序//1、冒泡正序:intnum[]={345,2,3,777,34,233,97,30};for(inti=0;i<num.length;i++){for(intt=0;t<num.length-1-i;t++){if(num[t]>num[t+1......
  • java注释、标识符、关键词
    一、注释1、单行注释: //内容 2、多行注释: /* 内容 内容内容 */ 3、文档注释: /** 内容 内容 内容 */二、标识符和关键字标识符注意点: 1、所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线()开始2、首字符之后可以是字母(A-乙或者a-z),美元符($).下划线()或数......
  • 02博客:Java学习思维导图
    Java学习思维导图这一个学期学习规划安排动态调整第一个月到第二个月:重点学习、巩固并初步掌握Java入门基础知识第三个月:巩固Java基础这个阶段与其他课程有交叉部分需要一起巩固大概一个月到一个半月第四个月:与阶段三相对应,包含了MySQL、JavaWeb、Git、Linux等内容的学......
  • 无涯教程-JavaScript - COS函数
    描述COS函数返回给定Angular的余弦值。语法COS(number)争论Argument描述Required/OptionalNumberTheangleinradiansforwhichyouwantthecosine.RequiredNotes如果Angular以度为单位,则将Angular乘以PI()/180或使用RADIANS函数将Angular转换为弧度=弧度(......
  • 无涯教程-JavaScript - COMBINA函数
    描述COMBINA函数返回给定数量的项目的组合数量(重复)。语法COMBINA(number,number_chosen)争论Argument描述Required/OptionalNumber必须大于或等于0,并且大于或等于Number_chosen。非整数值将被截断。RequiredNumber_chosen必须大于或等于0。非整数值将被......
  • 基于JAVA的便捷饭店点餐小程序
    设计内容1、系统前台模块:(1)用户注册登录:已注册的用户,可以进行登录操作,从而进入主页面对餐品进行游览、购买等操作;(2)个人信息:用户可以查看以及修改个人信息;(3)餐品信息:餐品显示在页面上,并且以餐品分类以价格的方式排列显示,用户可以通过点击查看所需的餐品的详情信息;还可以通过搜索,查看不......