Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-ui的ui皮肤项目。项目正式更名为knife4j,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的通用性解决方案,不仅仅只是专注于前端Ui前端。

官网文档地址:https://xiaoym.gitee.io/knife4j/

knife4j版本:3.0.3

SpringBoot版本:2.5.6

目录

一、初始化SpringBoot项目

二、引入依赖pom

三、Knife4jConfig配置类

四、编写测试接口

五、预览在线接口


一、初始化SpringBoot项目

 

二、引入依赖pom

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

三、Knife4jConfig配置类

package com.csdn.config;

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
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.EnableSwagger2;

@Configuration
@EnableSwagger2
@EnableKnife4j
public class Knife4jConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
                .useDefaultResponseMessages(false)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.csdn.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .description("knife4j在线API接口文档")
                .contact(new Contact("Roc-xb", "https://yang-roc.blog.csdn.net/", "aida_pc@qq.com"))
                .version("v3.0.0")
                .title("knife4j在线API接口文档")
                .build();
    }
}

四、编写测试接口

package com.csdn.controller;

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

@Api(tags = "api接口测试")
@RestController
@RequestMapping("/api")
public class ApiController {
    @ApiOperation(value = "查询所有用户")
    @GetMapping("/users")
    public String list() {
        return "1";
    }

    @ApiOperation(value = "添加用户")
    @PostMapping("/users")
    public String add() {
        return "2";
    }

    @ApiOperation(value = "编辑用户")
    @PutMapping("/users")
    public String update() {
        return "3";
    }

    @ApiOperation(value = "删除用户")
    @DeleteMapping("/users")
    public String delete() {
        return "4";
    }
}

五、预览在线接口

http://localhost:8080/doc.html#/home

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐