1. Knife4j(OpenApi2)入门示例
Knife4j
是一个集Swagger2
和 OpenAPI3
为一体的增强解决方案。
本文按照官方文档,在 SpringBoot2.7 项目中,集成 Knife4j
的 OpenApi2
版本。
2. 官网
3. 初始化项目
3.1. 依赖
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
3.2. 配置
knife4j:
enable: true
openapi:
title: Knife4j示例项目文档
description: "项目简介,支持Markdown格式:`这里是代码标签哦`,**这里是强调哦**"
concat: 作者
version: v1.0
terms-of-service-url: https://example.com/
group:
default:
group-name: 默认分组
api-rule: package
api-rule-resources:
- com.example
3.3. 接口注解
演示基本的接口注解
。
在Controller控制器及内部接口方法中,添加注解。
package com.example.web.controller;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Api(tags = "首页模块")
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);
}
}
4. 页面效果