• 重生之 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

  • 相关阅读:
    动态顺序串的基本实现
    Web Component-初识
    使用vue-cli搭建SPA项目
    华为云云耀云服务器L实例评测|使用clickhouse-benchmark工具对ClickHouse的性能测试
    Springboot求职招聘系统毕业设计源码250911
    我常用的5个效率小工具,强烈推荐
    冒泡排序与二分查找
    复习单片机部分:1.开发板功能及使用介绍 2.51 单片机介绍 3.数字电路与 C 语言基础
    一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
    DAO 与存储库Repository模式
  • 原文地址:https://blog.csdn.net/weixin_56050344/article/details/139716826