Knife4j使用教程(四) -- Controller类的配置注解

本文档详细介绍了 Knife4j 中用于Controller类的各种注解,包括@API、@ApiOperation、@ApiOperationSupport、@ApiParam、@ApiImplicitParams、@ApiIgnore等,用于构建和定制Swagger API文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. @API注解

2. @ApiOperation()注解

3. @ApiOperationSupport注解

4. @ApiParam注解

5. @ApiImplicitParams注解 与 @ApiImplicitParam注解

6. @ApiIgnore()注解


1. @API注解

使用在类上,表明是swagger资源,@API拥有两个属性:value tags 、description

  • tags :生成的api 文档会根据tags分类,直白的说就是这个controller中的所有接口生成的接口文档都会在tags这个list下;tags如果有多个值,会生成多个list,每个list都显示所有接口。
@Api(tags = "列表1")
@Api(tags = {"列表1","列表2"})
  • value:该参数没什么意义,在UI界面上不显示,所以不用配置。
@RestController
@RequestMappin
### Knife4j OpenAPI2 Spring Boot Starter 的配置方法 为了实现 `knife4j-openapi2-spring-boot-starter` 的集成,以下是详细的说明以及示例代码。 #### 添加依赖 首先,在项目的 `pom.xml` 文件中引入 `knife4j-openapi2-spring-boot-starter` 依赖: ```xml <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi2-spring-boot-starter</artifactId> <version>3.0.3</version> <!-- 版本号可能因时间而不同,请确认最新版本 --> </dependency> ``` 此依赖会自动加载 Swagger UI 和 Knife4j 增强功能到项目中[^1]。 --- #### 配置文件设置 在 `application.yml` 或 `application.properties` 中添加必要的配置项。以下是一个典型的 YAML 配置示例: ```yaml spring: application: name: demo-service # 应用名称 swagger: base-package: com.example.demo.controller # 扫描的包路径 title: Demo API 文档 description: 这是用于演示的 API 接口文档 version: 1.0.0 license: Apache 2.0 license-url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: 开发团队 url: http://example.com email: [email protected] ``` 上述配置定义了接口文档的基础信息、扫描范围以及其他元数据。 --- #### 启用 Knife4j 功能 创建一个 Java 配置来启用并自定义 Knife4j 的行为: ```java import springfox.documentation.swagger2.annotations.EnableSwagger2; import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @EnableSwagger2 public class Knife4jConfig { @Bean public OpenApiExtensionResolver openApiExtensionResolver() { return new OpenApiExtensionResolver(); } } ``` 通过该配置Knife4j 将能够增强默认的 Swagger 功能,并提供更友好的用户体验界面。 --- #### 控制器示例 下面展示了一个简单的控制器示例,其中包含了注解以便被 Knife4j 自动识别和解析: ```java import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/demo") @Api(tags = "Demo Controller", value = "这是一个示例模块") public class DemoController { @GetMapping("/hello") @ApiOperation(value = "获取问候语", notes = "返回一条简单的欢迎消息") public String sayHello() { return "Hello, Knife4j!"; } } ``` 以上代码片段展示了如何利用 Swagger 注解标记接口及其描述信息。 --- #### 访问 Knife4j 页面 完成上述配置后,启动应用程序并通过浏览器访问以下地址即可查看生成的 API 文档页面: ``` http://localhost:8080/doc.html ``` Knife4j 提供的功能不仅限于显示接口列表,还支持在线调试、参数校验等功能。 --- ### 注意事项 如果遇到任何异常情况(如无法正常渲染页面),可以尝试清理缓存或升级相关依赖至最新稳定版。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值