spring boot 集成 swagger3

news/2024/11/19 15:23:40/

 

        Swagger 3是一种开源的API描述工具,它可以帮助开发人员设计、构建、文档化和测试API。Swagger 3支持多种编程语言和框架,包括Java、Node.js、Python、Ruby等,并提供了许多集成工具和插件,例如Postman、Apigee等。 Swagger 3使用OpenAPI规范来描述API,这是一种通用的API描述语言,适用于各种编程语言和框架。OpenAPI规范定义了API的基本结构、请求和响应的参数、头部信息、路径、HTTP方法和安全方案等。通过使用Swagger 3,开发人员可以从API文档中快速了解API的特点和功能,有效简化了API的构建维护。 在使用Swagger 3时,您需要在项目中添加Swagger 3依赖项,并配置好Swagger 3配置文件。然后您可以使用注释标记您的API端点以及请求和响应类和字段等,Swagger 3会根据这些注释生成API文档并提供UI界面进行浏览和测试等操作。

引入依赖

注:不需要额外依赖,只需要下面一个就能完成

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

配置文件

​
spring:mvc:pathmatch:matching-strategy: ant_path_matcher​

swagger配置类

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 java.util.ArrayList;/*** swagger配置*/
@Configuration
public class SwaggerConfig {Boolean swaggerEnabled = true;@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo())// 是否开启.enable(swaggerEnabled)//true.select().apis(RequestHandlerSelectors.basePackage("com.***.***")//配置扫描的路径.paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("****接口文档").contact(new Contact("clc", "http://www.baidu.com", "clc@x.com")).version("1.0").description("基本的一些接口说明").license("Apache 2.0 许可") // 许可.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0") // 许可链接.extensions(new ArrayList<>()) // 拓展.build();}}

常用注解

Swagger3 常用注解使用位置
@Api在 Java 类上添加该注解。
@ApiOperation在 Java 类的方法上添加该注解。
@ApiParam在 Java 类的方法参数上添加该注解。
@ApiResponses在 Java 类的方法上添加该注解。
@ApiSecurity在 Java 类的方法上添加该注解。
@ApiModel在 Java 类的方法参数或返回值上添加该注解。
@ApiImplicitParams在 Java 类的方法参数上添加该注解。
@ApiHeader在 Java 类的方法参数或返回值上添加该注解。
@ApiFormData在 Java 类的方法参数或返回值上添加该注解。
@ApiUseDefaultValues在 Java 类的方法参数上添加该注解。

请求地址:http://localhost:端口/swagger-ui/index.html


http://www.ppmy.cn/news/75777.html

相关文章

【C++】基础知识--输入/输出(5)

前面部分的示例程序几乎没有提供与用户的交互&#xff08;如果有的话&#xff09;。他们只是在屏幕上打印简单的值&#xff0c;但标准库提供了许多其他方式通过其输入/输出功能与用户交互。本节将简要介绍一些最有用的方法。 cin标准输入cout标准输出cerr标准错误&#xff08;输…

生命的价值

“追求”才是人生的“奥林匹克”精神&#xff0c;是生命燃烧的火花。 生命不因为结局的美好才美好&#xff0c;生命却因为追求美好而美丽&#xff0c;生命的价值就在于对美好结局的追求。人生在追求中闪光&#xff0c;价值在追求中沉淀&#xff0c;生命在追求中丰沛&#xff0c…

文本三剑客正则表达式3

文章目录 文本三剑客&正则表达式31 awk工作原理2 awk的基本格式及其内置变量2.1 基本格式2.2 内置变量2.3 示例2.3.1 直接打印所有内容2.3.2 取每一行的第一列2.3.3 打印行号&#xff0c;及所有内容2.3.4 打印第三行2.3.5 打印2-4行2.3.6 打印第2行和第4行2.3.7 用正则表达…

最近最少使用(LRU, Least recently used)缓存算法_华为2023

思路 性能限制很高、数据量很大时&#xff0c;cin、cout肯定是不够快的。 &#xff08;1&#xff09;可以利用getchar()速度快的特性设计快读函数读取整数&#xff0c;可以做到用scanf()函数5倍的速度读入任意整数&#xff1a; #include<cstdio> // 仅正整数可用 #defi…

多线程基础(一)线程基础信息、synchronized 锁概念

1. 基本概念&#xff1a; 程序&#xff1a; 程序是一些保存在磁盘上的指令的有序集合&#xff0c;是静态的。程序包括&#xff1a;内存资源、IO资源、信号处理等。&#xff08;如&#xff1a;XX.exe&#xff09; 进程&#xff1a; 进程是程序执行的过程&#xff0c;包括了动态…

XPCIE1032 — 高速高精,超快交互速率的PCIe EtherCAT实时运动控制卡

产品导读 XPCIE1032是一款基于PCI Express的EtherCAT总线运动控制卡&#xff0c;可选4-16轴运动控制&#xff0c;支持多路高速数字输入输出&#xff0c;可轻松实现多轴同步控制和高速数据传输。 XPCIE1032集成了强大的运动控制功能&#xff0c;结合MotionRT7运动控制实时软核…

redis 数据库概述

一 概述 redis是一种nosql数据库,他的数据是保存在内存中&#xff0c;同时redis可以定时把内存数据同步到磁盘&#xff0c;即可以将数据持久化&#xff0c;并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合],hash(hash表))。相关…

SpringBoot中使用枚举类、switch、常量类(声明并初始化map)实现类策略者模式,接口返回常量数据

场景 SpringBoot中策略模式工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else&#xff1a; SpringBoot中策略模式工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else_霸道流氓气质的博客-CSDN博客 SpringBootVa…