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

  • 相关阅读:
    Win10下pytorch环境搭建详细教程以及示例测试
    Docker快速安装
    Python基于HRHet的跌倒检测系统(源码&教程)
    JAVA烟草经销平台的设计与实现计算机毕业设计Mybatis+系统+数据库+调试部署
    跟随光标圆形文本旋转
    这三款手机视频拼接软件,可以帮你把视频拼出高级感
    笔者更加愿意将产业互联网看成是一个比消费互联网要丰富得多的概念
    构建工具的简述
    操作系统知识回顾(更新中,自用)
    菲律宾公司注册
  • 原文地址:https://blog.csdn.net/weixin_56050344/article/details/139716826