当前位置: 首页 > news >正文

SpringBoot学习日记——DAY02(SpringBoot整合Swagger3)

今天针对SpringBoot整合Swagger3等相关操作展开了学习1.配置Swagger1.1加入依赖dependency groupIdio.springfox/groupId artifactIdspringfox-boot-starter/artifactId version3.0.0/version /dependency1.2编写Swagger的配置类package com.djw.config; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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; /** * author djw */ Configuration public class SwaggerConfig { Bean public Docket apiConfig() { return new Docket(DocumentationType.OAS_30) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.any()) .build(); } public ApiInfo apiInfo(){ return new ApiInfoBuilder() .title(董济维的项目) .description(这是一个项目...) .contact(new Contact(董济维,http://www.itszb.com,1918431841qq.com)) .version(1.0) .build(); } }1.3编写application.ymlspring: mvc: pathmatch: matching-strategy: ant_path_matcher banner: image: location: banner.txt server: port: 99991.4在主类中加入注解EnableOpenApipackage com.djw; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import springfox.documentation.oas.annotations.EnableOpenApi; import springfox.documentation.swagger2.annotations.EnableSwagger2; SpringBootApplication EnableOpenApi public class AppServer { public static void main(String[] args) { SpringApplication.run(AppServer.class, args); } }1.5在Controller类中加入注解Api(tags对当前Controller类的说明)在Controller方法加入注解ApiOperation(value对方法的说明和用途)还可以使用ApiImlicitParam对方法的参数做说明也可以利用ApiParam对参数做说明package com.djw.controller; import com.djw.model.Student; import io.swagger.annotations.*; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; /** * author djw */ RestController RequestMapping(/stu) Api(tags 学生管理) public class StuController { GetMapping(list) ApiOperation(查询全部学生数据) public Object list(){ ListStudent list new ArrayListStudent(); list.add(new Student(1,张三,22,男)); list.add(new Student(2,李四,21,男)); list.add(new Student(3,王五,23,女)); list.add(new Student(4,赵六,22,男)); return list; } GetMapping(select/{id}) ApiOperation(根据id获取学生对象) ApiImplicitParams( ApiImplicitParam( name id,value 学生id,required true, paramType path,dataType Integer, dataTypeClass Integer.class ) ) public Object getById(PathVariable Integer id){ return new Student(id,李四,22,男); } PostMapping() ApiOperation(添加学生操作) public Object save(RequestBody ApiParam(namestudent,value学生对象) Student student){ return student; } DeleteMapping(/{id}) ApiOperation(新的删除学生操作) public Object delete(PathVariable Integer id){ return 已删除id为id的学生; } PutMapping() ApiOperation(新的新的更新学生信息) public Object update(RequestBody Student student){ return student; } }1.6在实体类上加入ApiModel,ApiModelPropertypackage com.djw.model; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * author djw */ Data NoArgsConstructor AllArgsConstructor ApiModel(value 学生对象,description 学生对象,用来对应数据库表student) public class Student { ApiModelProperty(value 学生id,required true,example 1) private int id; ApiModelProperty(value 名字,required true,example 张三) private String name; ApiModelProperty(value 年龄,required true,example 22) private int age; ApiModelProperty(value 男,required true,example 男) private String gender; }1.7测试Swagger2.设置自动重启2.1加入依赖dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-devtools/artifactId /dependency2.22.3配置好了就重启服务器就可以实现修改功能springboot自启动了2.4自动启动的原理SpringBoot自启动技术主要通过两个类的加载器来完成。ClassLoader不会更改的类来自第三方的jar包被加载到Base ClassLoader中会更改的类被加载到Restart ClassLoader2.5排除自动重启资源可以在application.yml文件中配置排除资源spring : devtools: restart : exclude: static/**,public/**,templates/**3.SpringBoot配置文件位置配置程序实参--spring.config.name文件名
http://www.zskr.cn/news/1324576.html

相关文章:

  • 5G混合MIMO预编码技术与模型驱动学习应用
  • Perplexity旅游规划效率提升87%:实测验证的7个高阶指令模板(附2024最新API适配)
  • SpringBoot项目实战:集成iText7 HTML转PDF,并处理中文、文件流与OSS上传
  • SuperRDP完整指南:一键解锁Windows远程桌面多用户并发连接限制
  • 使用OpenCL重写CUDA内核架构设计、适用场景、性能差异
  • 借助Taotoken审计日志功能追踪与分析团队内部的模型使用情况
  • 探索 SPR 分子互作:解析生命奥秘的微观钥匙
  • 【Web安全】JWT常见安全漏洞总结
  • 2026年当前,如何选择河北顶尖画册印刷合作伙伴 - 2026年企业推荐榜
  • 掌控视频播放节奏:Video Speed Controller如何帮你每天节省2小时?
  • 观察使用Token Plan套餐前后月度AI调用成本的变化趋势
  • 初创团队如何利用 Taotoken 的 Token Plan 有效控制 AI 开发成本
  • 生产环境 RabbitMQ 如何配置日志轮转避免磁盘占满
  • 2026魔术贴技术全解析:切片魔术贴/家居用魔术贴/射出钩魔术贴/纱网魔术贴/背胶魔术贴/背靠背魔术贴/防蚊类魔术贴/选择指南 - 优质品牌商家
  • 基于姿态识别的互动健身系统:用烟花激励锻炼
  • 2026研磨丝杠定制标杆名录:直线模组、KK模组、SBC导轨、TBI丝杠加工、WON模组平台、丝杠改制及再制造选择指南 - 优质品牌商家
  • 影刀RPA工程实战:多店铺环境隔离体系与自动化流程的事务性保障
  • 端口映射不生效排错手册:公网IP检测、静态IP配置、防火墙放行全攻略
  • 独立开发者如何利用Taotoken以更低成本体验全球主流大模型
  • 瑞萨RH850与IAR:助力下一代“软件定义汽车”开发
  • 端口映射故障排查实战:使用telnet、nc、nmap精准定位问题
  • 2026年5月新发布:浦源医药以专业实力与稳定供应赢得PVC粉末抗菌剂市场口碑 - 2026年企业推荐榜
  • CE教程通关后,我整理了这份超详细的代码注入与多级指针实战笔记(附避坑点)
  • 【回眸】轻创业实战:轻创业低成本启动指南
  • 知识库文档预处理方法
  • go 链表 (标准库实现)
  • A-59F所有应用模式说明
  • 全网最全端口映射位置汇总:一张表搞定所有设备设置
  • 为什么你的内存池写得不够快?来看 Linux SLUB 分配器教科书级的 O(1) 路径
  • 标题:【2026 最全】CTF 零基础入门指南|小白必看,一篇封神!