Swagger配置

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Swagger配置

Spring Boot配置Swagger



1、导入相关依赖

 

<dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.7.0</version>
    </dependency>


2、添加配置类(其中的package需要找到自己的controller)

package com.example.redis.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    /**
     * 创建API应用
     * apiInfo() 增加API相关信息
     * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
     * 本例采用指定扫描的包路径来定义指定要建立API的目录。
     *
     * @return
     */
    @Bean
    public Docket restApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("标准接口")
                //.apiInfo(apiInfo("Spring Boot中使用Swagger2构建RESTful APIs", "1.0"))
                .useDefaultResponseMessages(true)
                .forCodeGeneration(false)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.redis.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    /**
     * 创建该API的基本信息(这些基本信息会展现在文档页面中)
     * 访问地址:http://ip:port/swagger-ui.html
     *
     * @return
/*     *//*
与上面注释.apiInfo相关,可以添加相关描述信息
    private ApiInfo apiInfo(String title, String version) {
        return new ApiInfoBuilder()
                .title(title)
                .description("")
                .termsOfServiceUrl("")
                .contact(new Contact(""))
                .version(version)
                .build();
    }*/
}


3、编写controller


注意添加注解

@RequestMapping(“/api2”)

@Api(tags = “标准演示接口2”)


package com.example.redis.controller;
import com.example.redis.pojo.User;
import com.example.redis.service.UserService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
 * @ClassName: UserController
 * @author: 鹏
 * @date: 2022/8/26 9:41
 */
@Controller
@RequestMapping("/api2")
@Api(tags = "标准演示接口2")
public class UserController {
    @Autowired
    private UserService userService;
    @ResponseBody
    @PostMapping("/insert")
    public String addUser(User user){
        boolean b = userService.addUser(user);
        if (b){
            return "ok";
        }else {
            return "error";
        }
    }
}


4、访问网址(http://ip:port/swagger-ui.html)


5、可能遇到的问题


1.yml文件缺少配置(与版本不对应有关)


073799fcc02442bda42dd9679bad443f.png


找到yml文件配置如下

spring:
  mvc:
     pathmatch:
       matching-strategy: ant_path_matcher


重启解决


2.关于默认的这个url很丑想自定义


bdbb84e73e8041ae9ac0005de613383a.png


在yml文件配置

springfox:
  documentation:
    swagger:
      v2:
        path: /my/docs


重启发现更改完成


2d25067af7364d9492e03476cc8f73a8.png

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
7月前
|
Java 程序员 API
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
185 1
|
前端开发 Java 程序员
如何在swagger2中配置header请求头等参数信息?(若不会,我便手把手教你)
如何在swagger2中配置header请求头等参数信息?(若不会,我便手把手教你)
2850 1
|
4月前
|
Java
SpringBoot 配置 Swagger
SpringBoot 配置 Swagger
48 0
|
6月前
|
Java API Spring
Spring Boot中配置Swagger用于API文档
Spring Boot中配置Swagger用于API文档
|
6月前
|
JavaScript 应用服务中间件 nginx
nginx配置解决vue刷新404、swagger 页面访问(springboot+vue项目)
nginx配置解决vue刷新404、swagger 页面访问(springboot+vue项目)
249 0
|
7月前
|
Java 应用服务中间件 网络安全
Nginx配置静态页面+springboot应用+swagger+SSL的实现
Nginx配置静态页面+springboot应用+swagger+SSL的实现
264 0
|
7月前
|
安全 Java Spring
如何在调试开发阶段,在已经配置了springsecurity的情况下还能使用swagger或者knife4j
如何在调试开发阶段,在已经配置了springsecurity的情况下还能使用swagger或者knife4j
159 0
|
Java Maven 开发者
Springboot 整合 knife4j | Swagger文档最简单配置
Springboot 整合 knife4j | Swagger文档最简单配置
1466 0
Springboot 整合 knife4j | Swagger文档最简单配置
|
7月前
|
XML API 数据库
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
133 0
|
JSON Java API
淘东电商项目(11) -Apollo分布式配置中心管理Swagger
淘东电商项目(11) -Apollo分布式配置中心管理Swagger
79 0