欢迎访问宙启技术站
智能推送

Springboot中整合knife4j接口文档的过程详解

发布时间:2023-05-15 17:12:30

在开发过程中,接口文档的编写相比与代码开发同等重要。接口文档能够清晰准确地描述接口的功能、参数、返回值等信息,方便开发人员之间的沟通和理解,同时也为后续的测试和维护提供了重要的参考。本文将介绍Springboot中整合knife4j接口文档的过程。

1. 添加依赖

在pom.xml文件中添加以下依赖:

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

2. 配置swagger

在Springboot的配置文件application.yml中添加以下配置:

spring:
  swagger:
    enabled: true # 启用Swagger文档
    title: 接口文档 # 文档标题
    description: 接口文档 # 文档描述
  resources:
    add-mappings: false # 防止静态资源被Swagger覆盖

3. 配置Knife4j

在Springboot的配置类中添加Knife4j的全局配置:

@Configuration
@EnableKnife4j
@EnableSwagger2WebMvc
public class Knife4jConfiguration {

    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("接口文档")
                .description("接口文档")
                .version("1.0.0")
                .build();
    }
}

4. 编写接口文档

在代码中使用Swagger的注解编写接口文档,如下所示:

@RestController
@RequestMapping("/api")
@Api(tags = "用户管理")
public class UserController {

    @GetMapping("/user/{id}")
    @ApiOperation(value = "根据用户ID查询用户信息")
    @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "int", paramType = "path")
    public Result<UserDto> getUserById(@PathVariable Integer id) {
        UserDto userDto = new UserDto();
        return Result.success(userDto);
    }

    @PostMapping("/user")
    @ApiOperation(value = "新增用户")
    public Result addUser(@RequestBody UserDto userDto) {
        return Result.success();
    }
}

其中,@Api用于描述接口分组信息,@ApiOperation用于描述接口信息,@ApiImplicitParam用于描述接口参数信息。

5. 查看接口文档

启动Springboot应用后,访问http://localhost:8080/doc.html可以查看生成的接口文档。对于每个接口,文档会展示接口信息、参数信息、返回值信息等详细信息,方便了解和测试。

综上所述,使用Knife4j可以方便快捷地生成接口文档,能够有效提高开发效率,减少沟通成本。通过上述步骤,我们可以在Springboot应用中轻松地集成Knife4j接口文档,实现接口文档的快捷生成。