SpringBoot——》整合knife4j详细步骤

推荐:
总结——》【SpringBoot】

一、在maven项目的pom.xml中引入Knife4j的依赖包

1、Knife4j本身已经引入了springfox,不用再单独引入Springfox的具体版本,否则会导致版本冲突。
2、使用Knife4j2.0.6及以上的版本,Spring Boot的版本必须大于等于2.2.x

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <!--在引用时请在maven中央仓库搜索2.X最新版本号-->
    <version>2.0.8</version>
</dependency>

二、创建Swagger配置依赖

import io.swagger.annotations.ApiOperation;
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;

@Configuration
@EnableSwagger2WebMvc
public class Swagger {

    @Bean(value = "defaultApi")
    public Docket defaultApi() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
//                .apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller"))
                //这里指定扫描有ApiOperation注解的类
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                //所有路径
                .paths(PathSelectors.any())
                //不包含^/inner/.*的路径
                //.paths(input -> !input.matches("^/inner/.*"))
                .build();
        return docket;
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("小仙的RESTful APIs")
                .description("构建RESTful APIs")
                .termsOfServiceUrl("https://blog.csdn.net/weixin_43453386")
                .contact(new Contact("小仙",
                        "https://blog.csdn.net/weixin_43453386",
                        "xxx@163.com"))
                .version("1.0")
                .build();
    }
}

三、启动SpringBoot工程

在浏览器中访问,http://127.0.0.1:8080/doc.html
在这里插入图片描述

四、新建TestController.java并测试

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@Api(value = "测试controller")
public class TestController {

    @ApiImplicitParam(name = "name", value = "姓名", required = true)
    @ApiOperation(value = "欢迎光临")
    @GetMapping("/welcome")
    public ResponseEntity<String> welcome(@RequestParam(value = "name") String name) {
        return ResponseEntity.ok(name + ",终于等到你~\\(≧▽≦)/~啦啦啦");
    }
}

在doc.html中可以看到新建的api文档:
在这里插入图片描述
输入参数,直接点击发送,进行测试:
在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
springboot2.7整合knife4j4.3是指在Springboot 2.7版本中使用Knife4j 4.3进行API文档的生成和管理。具体步骤如下: 1.在pom.xml文件中添加Knife4j的依赖: ``` <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>4.3.0</version> </dependency> ``` 2.在application.yml文件中进行配置: ``` spring: profiles: active: dev application: name: demo-knife4j-openapi3 servlet: multipart: max-file-size: 10MB max-request-size: 100MB resources: static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 serialization: fail-on-empty-beans: false indent-output: true write-dates-as-timestamps: false write-null-map-values: false write-empty-json-arrays: false write-enums-using-to-string: true http: encoding: charset: UTF-8 enabled: true servlet: session: timeout: 30m datasource: url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource druid: initial-size: 5 min-idle: 5 max-active: 20 test-on-borrow: true validation-query: SELECT 1 FROM DUAL filters: stat,wall,log4j connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 jpa: show-sql: true hibernate: ddl-auto: update naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl server: port: 8080 tomcat: uri-encoding: UTF-8 max-threads: 200 min-spare-threads: 10 max-http-header-size: 1048576 accesslog: enabled: true directory: logs prefix: access_log suffix: .log rotate: true pattern: common knife4j: title: demo-knife4j-openapi3 description: demo-knife4j-openapi3 version: 1.0.0 contact: name: demo-knife4j-openapi3 url: http://localhost:8080/doc.html email: demo-knife4j-openapi3@qq.com license: name: Apache License 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html terms-of-service-url: http://localhost:8080/doc.html host: localhost:8080 packages: com.example.demo ``` 3.在启动类上添加@EnableKnife4j注解: ``` @SpringBootApplication @EnableKnife4j public class DemoKnife4jOpenapi3Application { public static void main(String[] args) { SpringApplication.run(DemoKnife4jOpenapi3Application.class, args); } } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值