重生之 SpringBoot3 入门保姆级学习(22、场景整合 Swagger 接口文档)
- 6.2 Swagger 接口文档
6.2 Swagger 接口文档
1、将 starter 导入 Maven
- 官网
https://springdoc.org/
<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.5.0</version></dependency>
2、浏览器访问地址可以看到我们的接口信息
http://localhost:8080/swagger-ui/index.html
3、可以在网页上对 接口 进行测试
4、修改 RedisTestController 使用 @Tag 注解
- 常用注解
注解 | 标注位置 | 作用 |
---|---|---|
@Tag | controller类 | 标识controller作用 |
@Parameter | 参数 | 标识参数作用 |
@Parameters | 参数 | 参数多重说明 |
@Schema | model 层的 JavaBean | 描述模型作用及每个属性 |
@Operation | 方法 | 描述方法作用 |
@ApiResponse | 方法 | 描述响应状态码等 |
package com.zhong.redis.controller;import com.zhong.redis.entity.Person;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;/*** @ClassName : RedisTestController* @Description :* @Author : zhx* @Date: 2024-06-14 15:13*/
@Tag(name = "人员", description = "人员的 CRUD")
@RestController
public class RedisTestController {@AutowiredStringRedisTemplate stringRedisTemplate;@Autowired // 如果给 redis 中保存数据会使用默认序列化机制,导致 redis 中保存对象不合适RedisTemplate redisTemplate;@GetMapping("/count")public String count() {Long count = stringRedisTemplate.opsForValue().increment("count");// TODO 常见数据类型 k:v value可以有很多类型//// string: 普通字符串: redisTemplate.opsForValue()// list 列表: redisTemplate.opsForList()// set: 集合: redisTemplate.opsForset()// zset: 有序集合: redisTemplate.opsForzset()// hash: map结构: redisTemplate.opsForHash()return "访问了[ " + count + " ]次";}@GetMapping("/person/save")public String savePerson() {Person person = new Person(1L,"小钟",23,new Date());redisTemplate.opsForValue().set("person", person);return "ok";}@GetMapping("/person/get")public Person getPerson() {return (Person) redisTemplate.opsForValue().get("person");}
}
5、显示效果