• 重生之 SpringBoot3 入门保姆级学习(22、场景整合 Swagger 接口文档)


    重生之 SpringBoot3 入门保姆级学习(22、场景整合 Swagger 接口文档)

    6.2 Swagger 接口文档


    1、将 starter 导入 Maven

    • 官网
    https://springdoc.org/
    

    image-20240614165800378

      <dependency>
                <groupId>org.springdocgroupId>
                <artifactId>springdoc-openapi-starter-webmvc-uiartifactId>
                <version>2.5.0version>
      dependency>
    

    2、浏览器访问地址可以看到我们的接口信息

    http://localhost:8080/swagger-ui/index.html
    

    image-20240614165955560

    3、可以在网页上对 接口 进行测试

    image-20240614170352172

    4、修改 RedisTestController 使用 @Tag 注解

    • 常用注解
    注解标注位置作用
    @Tagcontroller类标识controller作用
    @Parameter参数标识参数作用
    @Parameters参数参数多重说明
    @Schemamodel 层的 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 {
        @Autowired
        StringRedisTemplate 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、显示效果

    image-20240614170644679

  • 相关阅读:
    【SpringBoot框架篇】31.基于分布式锁或xxx-job实现分布式任务调度
    用四个整数编写一个贪吃蛇游戏
    学姐想学SpringBoot?连夜整理了一份SpringBoot高阶笔记,涵盖六大核心专题
    postgresql字符串处理的函数
    卷积神经网络(VGG-16)海贼王人物识别
    【POJ No. 3984】 迷宫问题
    Docker 学习笔记一
    C++ - unordered系列关联式容器介绍 - 和 set map 的比较
    算法— — 归并排序的应用
    怎么压缩图片?图片过大这样压缩变小
  • 原文地址:https://blog.csdn.net/weixin_56050344/article/details/139716826