发布时间:2025-06-24 18:19:05 作者:北方职教升学中心 阅读量:210
importio.swagger.v3.oas.models.ExternalDocumentation;importio.swagger.v3.oas.models.OpenAPI;importio.swagger.v3.oas.models.info.Contact;importio.swagger.v3.oas.models.info.Info;importio.swagger.v3.oas.models.info.License;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassSwaggerConfig{@BeanpublicOpenAPIspringShopOpenAPI(){returnnewOpenAPI().info(newInfo().title("标题").contact(newContact()).description("我的API文档").version("v1").license(newLicense().name("Apache 2.0").url("http://springdoc.org"))).externalDocs(newExternalDocumentation().description("外部文档").url("https://springshop.wiki.github.org/docs"));}}
3. 实体类和控制层注解
在您的实体类和控制层中使用Swagger注解来描述API。SQL Server
Swagger是一个用于设计、Linux
1. 添加依赖
首先,您需要在项目的pom.xml
文件中添加Swagger3的依赖。Android Studio、Xshell、Mybatis-plus、Swagger
importio.swagger.v3.oas.annotations.media.Schema;importlombok.AllArgsConstructor;importlombok.Builder;importlombok.Getter;importlombok.Setter;importlombok.extern.slf4j.Slf4j;@Builder(toBuilder =true)@AllArgsConstructor@Setter@Getter@Slf4jpublicclassResult<T>{/** * 提示信息 */@Schema(description ="提示信息")privateStringmessage;/** * 是否成功 */@Schema(description ="是否成功")privatebooleansuccess;/** * 返回状态码 */@Schema(description ="返回状态码")privateIntegercode;/** * 数据 */@Schema(description ="数据")privateTdata;publicResult(){}publicstaticResultsuccess(){ResultResult=newResult();Result.setSuccess(Boolean.TRUE);Result.setCode(ResultCode.SUCCESS.getCode());Result.setMessage(ResultCode.SUCCESS.getMsg());returnResult;}publicstaticResultsuccess(Stringmsg){ResultResult=newResult();Result.setMessage(msg);Result.setSuccess(Boolean.TRUE);Result.setCode(ResultCode.SUCCESS.getCode());returnResult;}publicstaticResultsuccess(Objectdata){ResultResult=newResult();Result.setData(data);Result.setSuccess(Boolean.TRUE);Result.setCode(ResultCode.SUCCESS.getCode());Result.setMessage(ResultCode.SUCCESS.getMsg());returnResult;}/** * 返回失败 消息 * * @return Result */publicstaticResultfailure(){ResultResult=newResult();Result.setSuccess(Boolean.FALSE);Result.setCode(ResultCode.FAILURE.getCode());Result.setMessage(ResultCode.FAILURE.getMsg());returnResult;}/** * 返回失败 消息 * * @param msg 失败信息 * @return Result */publicstaticResultfailure(Stringmsg){ResultResult=newResult();Result.setSuccess(Boolean.FALSE);Result.setCode(ResultCode.FAILURE.getCode());Result.setMessage(msg);returnResult;}publicstaticResultfailure(Integercode,Stringmsg){ResultResult=newResult();Result.setSuccess(Boolean.FALSE);Result.setCode(code);Result.setMessage(msg);returnResult;}publicstaticResultfailure(Stringmsg,ResultCodeexceptionCode){ResultResult=newResult();Result.setMessage(msg);Result.setSuccess(Boolean.FALSE);Result.setCode(exceptionCode.getCode());Result.setData(exceptionCode.getMsg());returnResult;}/** * 返回失败 消息 * * @param exceptionCode 错误信息枚举 * @return Result */publicstaticResultfailure(ResultCodeexceptionCode){ResultResult=newResult();Result.setSuccess(Boolean.FALSE);Result.setCode(exceptionCode.getCode());Result.setMessage(exceptionCode.getMsg());returnResult;}/** * 返回失败 消息 * * @param exceptionCode 错误信息枚举 * @param msg 自定义错误提示信息 * @return Result */publicstaticResultfailure(ResultCodeexceptionCode,Stringmsg){ResultResult=newResult();Result.setMessage(msg);Result.setSuccess(Boolean.FALSE);Result.setCode(exceptionCode.getCode());returnResult;}}
5. 注解说明
Swagger3的注解与Swagger2有所不同,以下是一些常用注解的对照表:
Swagger2注解 | Swagger3注解 | 注解位置 |
---|---|---|
@Api | @Tag(name = “接口类描述”) | Controller类上 |
@ApiOperation | @Operation(summary = “接口方法描述”) | Controller方法上 |
@ApiImplicitParams | @Parameters | Controller方法上 |
@ApiImplicitParam | @Parameter(description = “参数描述”) | Controller方法上 |
@ApiParam | @Parameter(description = “参数描述”) | 方法参数上 |
@ApiIgnore | @Parameter(hidden = true) 或 @Operation(hidden = true) | - |
@ApiModel | @Schema | DTO类上 |
@ApiModelProperty | @Schema | DTO属性上 |
6. 访问Swagger UI
启动您的Spring Boot应用后,您可以通过以下地址访问Swagger UI:
http://localhost:8080/doc.htmlhttp://localhost:8080/swagger-ui/index.html
在这里,您可以查看API文档,测试API接口,并获取相关信息。C、
Spring Boot 3项目集成Swagger3教程
🌟 前言
欢迎来到我的小天地,这里是我记录技术点滴、本教程将指导您如何在Spring Boot 3项目中集成Swagger3,并使用Knife4j作为UI界面。IDEA、uni-app、Swagger 3(OpenAPI 3.0)提供了更加强大和灵活的API文档生成能力。📚
🛠️ 技能清单
- 编程语言:Java、HbuildX、
🚀 获取源代码
- 后端案例:https://gitee.com/bestwishes0203/Front-end-example
- 前端案例:https://gitee.com/bestwishes0203/Back-end-example
📌 联系方式
如果您对我们的项目感兴趣,或者有任何技术问题想要探讨,欢迎通过以下方式与我联系。构建、
<!--swagger3--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.1.0</version></dependency><repositories><!--阿里云镜像--><repository><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>
2. 配置Swagger
在Spring Boot项目中创建一个配置类
SwaggerConfig
,并添加Swagger的配置信息。让我们一起在技术的道路上不断前行!🚀
// 实体类注解示例importcom.alibaba.excel.annotation.ExcelProperty;importcom.alibaba.excel.annotation.write.style.ColumnWidth;importio.swagger.v3.oas.annotations.media.Schema;importlombok.AllArgsConstructor;importlombok.Builder;importlombok.Data;importlombok.NoArgsConstructor;importlombok.experimental.Accessors;importjava.util.Date;@Data@Builder@NoArgsConstructor@AllArgsConstructor@Accessors(chain =true)@Schema(name ="Employee",description ="$!{table.comment}")publicclassEmp{@ExcelProperty("ID")@Schema(description ="ID")privateintid;@ExcelProperty("用户名")@Schema(description ="用户名")privateStringnames;@ExcelProperty("工资")@Schema(description ="工资")privatedoublesalary;@ExcelProperty("生日")@Schema(description ="生日")privateDatebirthday;@ColumnWidth(20)@ExcelProperty("头像")@Schema(description ="头像")privateStringphoto;// @ColumnWidth(20)// @DateTimeFormat("yyyy-MM-dd HH:mm:ss")// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")// @ExcelProperty("创建日期")// private Date u_create_time;}// 控制层注解示例importio.swagger.v3.oas.annotations.Operation;@Operation(summary ="获取所有员工信息")@GetMapping("/selectAll")publicList<Emp>selectAll(){// ...}
4. 通用返回结果封装
创建一个通用的返回结果类,用于统一API的响应格式。我非常期待与您交流,共同学习,共同进步!
- 邮箱:2109664977@qq.com
- Gitee:https://gitee.com/bestwishes0203
- GitHub:https://github.com/bestwishes0203
- CSDN:https://blog.csdn.net/interest_ing_/
- 个人博客:访问我的博客
🎉 结语
感谢你的访问,如果你对我的技术文章或项目感兴趣,欢迎通过以上方式与我联系。Navicat、Redis、Antd、