Swagger2 3.0的使用

news2025/6/9 18:00:14

前言

今天使用了以下swagger2 的3.0.0版本,好家伙,好多坑。在这里记录一下,方便查阅。

一、Swagger的简介

官网:https://swagger.io/

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。
非常适合前后分离的项目,后端人员提供swagger页面,前端使用,比接口文档更加方便。

Tips:
springboot 与 swagger有版本兼容问题,springboot 2.7.x版本不能使用swagger2
2.x版本,需要升级为3.x版本。 当然,条件允许,也可以降低springboot的版本为2.5.x版本。

二、基本使用

1、导入依赖

		<!--swagger2-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

2、修改yml

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

3、创建config

如果这些信息不需要修改,可以不创建当前config,直接在主程序上写@EnableOpenApi配置即可。

@Configuration
@EnableOpenApi
public class SwaggerConfig {
    @Bean
    public Docket apiConfig() {
        return new Docket(DocumentationType.SWAGGER_2)
                //获取接口信息
                .apiInfo(getApiInfo())
                //指定主机域名,填写域名后,各个请求都会使用到域名
//                .host("https://www.zhangdl.cn/")
                //分组
                .groupName("systemManager")
                .select()
                //扫描指定位置
                .apis(RequestHandlerSelectors.basePackage("cn.zhangdl.tech_training.controller"))
                //-------- 指定扫描路径 --------
                .paths(PathSelectors.any())
                .build();
    }


    private ApiInfo getApiInfo() {
        return new ApiInfoBuilder()
                //标题
                .title("系统接口文档")
                //描述
                .description("此文档为系统接口说明,配置及相关注解")
                //许可证
                .license("Swagger2 api")
                //许可证地址
                .license("https://www.github.com")
                //服务条款地址
                .termsOfServiceUrl("https://www.spring.io")
                //版本
                .version("1.0.0")
                //维护人信息
                .contact(new Contact("zhangdl", "https://blog.csdn.net/qq_41404112", "zhangdl945@163.com"))
                .build();
    }
}

4、业务controller

@RestController
@Api(tags = "项目前的环境测试接口")
public class TestController {

	@ApiOperation(value = "测试Swagger")
    @GetMapping("hello")
    public String hello(){
        return "hello";
    }
}

5、查看swagger接口页面

访问路径:http://localhost:8080/swagger-ui/index.html
相较于swagger2 2.x版本,路径也有变化哦
在这里插入图片描述

三、其他功能

这里会记录一些swagger的其他功能介绍,后面补充。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应用监控以及告警实现

前言 一个Java应用 可以不优秀&#xff0c;但是一定不能没有监控方案。否则极大影响排查线上问题的效 以及系统故障的及时告警 。试想 核心应用挂了一个 但是没有配置告警 理想情况几个小时 被自己人发现了 但是万一自己人也没看到或者没关注 那难道让服务一直挂下去么 &#…

Vue框架学习篇(五)

Vue框架学习篇(五) 1 组件 1.1 组件的基本使用 1.1.1 基本流程 a 引入外部vue组件必须要的js文件 <script src"../js/httpVueLoader.js"></script>b 创建.vue文件 <template><!--公共模板内容--></template><script><!…

LaoCat带你认识容器与镜像(实践篇二上)

实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 在开始本章内容之前&#xff0c;我解答一个问题&#xff0c;有小伙伴问我说&#xff0c;有的容器DockerHub官网并没有提供任何可参考的文…

可信AI年度观察 | 智能语音产业需求不断升级,评测重点由技术转向产品

自《新一代人工智能发展规划》发布以来&#xff0c;人工智能发展已上升为国家战略&#xff0c;在“十四五”规划中&#xff0c;更是将人工智能列为科技前沿领域的“最高优先级”&#xff0c;国家政策支持为人工智能产业发展提供良好环境。同时&#xff0c;各行业逐渐重视改善价…

ChatGPT 支持的搜索引擎 Bing 究竟什么样?

微软于2月8日北京时间凌晨在 Redmond 线下举办一场媒体活动&#xff0c;围绕微软的产品以及 AI&#xff0c;公布最新消息。这里我们先回顾一下微软在 AI 上的布局。 2019年&#xff0c;微软向 OpenAI 投资10亿美元&#xff0c;成为了 OpenAI 紧密的合作伙伴&#xff0c;而微软…

Git学习笔记-详细使用教程

一、定义 Git&#xff08;读音为/gɪt/&#xff09;是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的。 二、Git与SVN的最主要的区别&#xff1f; SVN是集中式版本控制系统&#xff0c;版本库是集中放在中央服务器的&#xff0c;而干活的时…

分享:提升你工作幸福感的11个工具软件!

今天给大家分享11个非常好用的资源、工具网站。不论你是做运营、设计&#xff0c;还是个人生活中的应用&#xff0c;甚至只是提升你在线冲浪的快乐感&#xff0c;你都值得拥有它们。 1&#xff0c;在线一键抠图 https://www.remove.bg/ 免费的软件&#xff0c;自动抠图&…

【官方 | 计算机二级Python教程】第八章:Python计算生态

【官方 | 计算机二级Python教程】第八章&#xff1a;Python计算生态参考书目第八章&#xff1a;Python计算生态本章知识导图8.1 计算思维8.2 程序设计方法论8.3 计算生态与生态式编程8.4 基本的Python内置函数习题本文代码编译环境及版本更新日志参考书目 拜读的是计算机等级考…

mysql安装指定版本详细教程mysql 8.0.28示例

之前出过一版安装mysql5.7和安装mysql8.x最新版本的文档今天根据需求出一版指定版本的安装教程以8.0.28为例https://dev.mysql.com/downloads/mysql/ 下载mysql的官网下载好后上传到服务器安装时会报错公钥URL错误rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 …

Python中关于@修饰符、yeild关键词、next()函数的基本功能简述

关于修饰符&#xff1a;其实就是将修饰符下面的函数当成参数传给它上面的函数。 def a(x):print(a)adef b():print(b) 其效果等价为&#xff1a; def a(x):print(a)def b():print(b)a(b())有个记忆诀窍&#xff0c;的下面哪个函数最近&#xff0c;谁就是儿子&#xff0c;谁就…

Windows环境下使用MySQL:实现自动定时备份

一、编写备份脚本 1 2 3 4 5 6 7 8 9 rem auther:www.yumi-info.com rem date:20230209 rem ******MySQL backup start******** echo off forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f path" set "Ymd%date:~0,4%…

[SSD固态硬盘技术 7] 固件概述和固件升级

固件英文叫Firmware&#xff0c;就是“固化在硬件中的软件”&#xff0c;不太恰当但是毕竟好理解的就是&#xff1a;固件就是硬盘的操作系统。固件Firmware是安装在硬盘的一个小记忆芯片上的&#xff0c;用于引导硬盘工作。其担任着一个系统最基础最底层的工作。对硬盘固件&…

2023 AIME 答案与解析 - 第一期

这里放广告 原题目 Five men and nine women stand equally spaced around a circle in random order. The probability that every man stands diametrically opposite a woman is where and are relatively prime positive integers. Find 绿树教育中心独家解析 先选取 5 对座…

知道什么是“事件冒泡“和“事件捕获“吗?那该怎么阻止事件冒泡呢

1. 事件冒泡与事件捕获 事件冒泡和事件捕获分别由微软和网景公司提出&#xff0c;这两个概念都是为了解决页面中事件流&#xff08;事件发生顺序&#xff09;的问题。 <div id"outer"><p id"inner">Click me!</p> </div>上面的代码…

【MySQL Shell】8.7 InnoDB ClusterSet 的受控切换

受控切换使选定的副本集群成为 InnoDB ClusterSet 部署的主集群。在受控切换过程中&#xff0c;确保了数据的一致性。该过程验证所选副本集群是否与主集群同步&#xff08;如果存在复制延迟&#xff0c;这可能意味着需要短时间的等待&#xff09;&#xff0c;然后使该集群成为 …

masscan的常用命令记录

目录 masscan介绍 常见参数 常见命令 输出格式 案例测试 masscan介绍 默认情况下&#xff0c;masscan的发包速率是100每秒&#xff0c;可以通过 ‘–rate’ 命令设置发包速率。 常见参数 --top-port 100&#xff1a;扫描100个常⻅端⼝ --adapter-ip&#xff1a;指定发包…

fwknop的安装和使用测试

SAP名为单包授权&#xff0c;是一种认证方法&#xff0c;它是一种端口敲门的方法&#xff0c;是之前早起端口敲门的升级版本。目的是为了隐藏服务端口&#xff0c;防止DOS等其他网络攻击&#xff0c;保证服务端的安全。SPA的具体定义这里不细说&#xff0c;网上有太多的资料&am…

微信小程序常用组件

文章目录微信小程序常用组件buttoniconimagescroll-viewswipercheckboxaudiovideo微信小程序常用组件 button 简单使用 wxml <view class"container"><button type"default">default</button><button type"default" siz…

配置与管理Web服务器

IIS是一个非常重要的Web服务器组件&#xff0c;包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器&#xff0c;分别用于网页浏览、文件传输、新闻服务和邮件发送。 Web服务的工作原理 HTTP是应用级的协议&#xff0c;主要用于分布式、协作的信息系统。HTTP协议是通用的、无状…

第二章:创建虚拟机

创建Windows server&#xff1a;首先第一步就是打开我们的vm&#xff0c;然后找到上一章讲的主页图标创建新的虚拟机。点击这上面类似的&#xff0c;然后转站。博文地址&#xff1a;https://blog.csdn.net/ryduijftgvhj/article/details/127934939?spm1001.2014.3001.5502视频…