范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SpringBoot3。0集成SpringDoc

  SpringBoot3.0集成SpringDoc1. pom配置2. OpenApi配置类3. 使用4. SpringDoc注解与SpringFox对比5. 演示项目
  这里为什么要使用SpringDoc呢?是因为集成SpringFox只支持SpringBoot2.x,
  而基于Swagger的SpringDoc的社区现在十分活跃,代码也在不断更新。
  SpringFox自从2020年7月14号之后就不更新了。
  YiYi项目学习教程1. pom配置     org.springdoc     springdoc-openapi-starter-webmvc-ui     2.0.2  2. OpenApi配置类
  这里和Swagger配置类似,主要是配置接口的标题、描述、版本信息、Authorizations权限等。
  下面两个分组信息也可以根据项目自身进行配置即可。 import org.springdoc.core.models.GroupedOpenApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;  import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityScheme;  /**  * SpringDoc 配置类  *  * @author Jack魏  * @since 2023/1/8 16:51  */ @Configuration public class OpenApiConfig {     /**      * SpringDoc 标题、描述、版本等信息配置      *      * @return openApi 配置信息      */     @Bean     public OpenAPI springDocOpenAPI() {         return new OpenAPI().info(new Info()                         .title("YiYi API")                         .description("YiYi接口文档说明")                         .version("v0.0.1-SNAPSHOT")                         .license(new License().name("YiYi项目博客专栏")                                 .url("https://blog.csdn.net/weihao0240/category_12166012.html")))                 .externalDocs(new ExternalDocumentation()                         .description("码云项目地址")                         .url("https://gitee.com/jack0240/YiYi"))                 // 配置Authorizations                 .components(new Components().addSecuritySchemes("bearer-key",                         new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer")));     }      /**      * demo 分组      *      * @return demo分组接口      */     @Bean     public GroupedOpenApi siteApi() {         return GroupedOpenApi.builder()                 .group("demo接口")                 .pathsToMatch("/demo/**")                 .build();     }      /**      * sys 分组      *      * @return sys分组接口      */     @Bean     public GroupedOpenApi adminApi() {         return GroupedOpenApi.builder()                 .group("sys接口")                 .pathsToMatch("/sys/**")                 .build();     } } 3. 使用
  可以看到注解的方式和Swagger基本上一模一样,就是名字有所变化而已。 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  import com.jack.yiyi.bean.SysUser; import com.jack.yiyi.service.sys.SysUserService; import com.jack.yiyi.util.Result;  import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag;   /**  * 系统用户Controller控制类  *  * @author Jack魏  * @since 2022-11-12  */ @Tag(name = "系统用户接口", description = "系统用户接口") @RestController @RequestMapping("/sys/user/") public class SysUserController {     @Autowired     private SysUserService sysUserService;      /**      * 注册后台系统用户      *      * @param sysUser 前端注册信息      * @return 注册用户信息      */     @Operation(summary = "注册接口", description = "输入用户信息进行注册")     @Parameters({             @Parameter(name = "account", description = "登录账号", required = true),             @Parameter(name = "password", description = "密码", required = true)     })     @PostMapping("register")     public Result register(SysUser sysUser) {         // 登录名参数校验         if (sysUser.getAccount() == null || "".equals(sysUser.getAccount())) {             return Result.fail("注册用户名不能为空");         }         // 密码参数校验         if (sysUser.getPassword() == null || "".equals(sysUser.getPassword())) {             return Result.fail("密码不能为空");         }          SysUser user = sysUserService.register(sysUser);         if (user == null) {             return Result.fail("注册失败!请更换登录名!");         }         return Result.success("注册成功,欢迎您:" + sysUser.getAccount());     } }
  通过上面的配置之后,启动项目即可,然后访问:
  http://127.0.0.1:8181/yiyi/swagger-ui/index.html
  因为此项目也配置了Security,所以先输入用户:user、密码:123456
  登录
  SpringDoc
  接口调试
  返回封装对象4. SpringDoc注解与SpringFox对比
  官网地址:https://springdoc.org/v2/#migrating-from-springfox
  SpringFox
  SpringDoc
  作用
  @Api
  @Tag
  在controller类上声明接口
  @ApiIgnore
  @Parameter(hidden = true) 或 @Operation(hidden = true) 或 @Hidden
  接口隐藏
  @ApiImplicitParam
  @Parameter
  单个参数说明
  @ApiImplicitParams
  @Parameters
  多个参数说明
  @ApiModel
  @Schema
  对实体类说明
  @ApiModelProperty(hidden = true)
  @Schema(accessMode = READ_ONLY)
  字段隐藏
  @ApiModelProperty
  @Schema
  实体类字段说明
  @ApiOperation(value = "foo", notes = "bar")
  @Operation(summary = "foo", description = "bar")
  接口方法说明
  @ApiParam
  @Parameter
  单个参数说明
  @ApiResponse(code = 404, message = "foo")
  @ApiResponse(responseCode = "404", description = "foo")
  返回说明  5. 演示项目
  https://gitee.com/jack0240/YiYi
  YiYi项目

队记火箭在费沃斯交易中得到的次轮签是3140顺位受保护直播吧9月30日讯据名记Woj报道,多位消息人士透露,火箭和雷霆达成一笔多人交易,他们送出恩瓦巴斯特林布朗特雷伯克和克里斯,换来费沃斯哈克莱斯杰罗姆马勒东一个来自老鹰的2025年次邮报埃弗顿可能被出售,若成行英超将有一半俱乐部美资入股直播吧9月30日讯据每日邮报援引金融时报消息,埃弗顿老板法哈德莫希里正在和美国商人卡明斯基(MaciekKaminski)进行深入会谈以出售俱乐部,这笔交易价值达到4亿镑。2016把目光从李梦身上收一收,女篮晋级4强,表现最好的是11号球员全场比赛打完,单从数据看表现最好的是李梦。拿到了23分2篮板4助攻。其中得分位居全队最高。而且就整个比赛过程来看,李梦也是发挥了至关重要的重要。比赛的开局是她用连续的得分帮助球队稳CBA山西队王来张走,大玩了一把老浪推前浪!此操作令人不解山西男篮正在经历一个多事之秋,股权之事尚未厘清。而队魂级人物大宝又因伤离队,不知何日方能归来!另外内线悍将闫鹏飞又转投了大鲨鱼,导致曾经兵强马壮的内线已然无人可用!而山西男篮原本就女篮比赛暴露细节!澳大利亚官方,为何每场比赛都给姚明特写?女篮比赛暴露细节!澳大利亚官方,为何每场比赛都给姚明特写?球迷都知道,在刚刚结束的中国女篮的比赛中,也是以十几分的差距战胜了法国队,但是这场比赛对于中国女篮来说,赢得并不轻松,并不CBA三消息辽宁上海争抢球员,首钢单外胜山东,郭昊文心比天高大家好呀,我是北柠,各位小伙伴们要养成先赞后看的习惯哦!现在CBA联赛各支球队在引进年轻球员方面肯定是不会做出让步的,一名优秀的球员可以直接改变一支球队的整体实力,之前辽宁队的总经2战2球2助!官方拉什福德当选英超9月最佳球员直播吧9月30日讯官方消息,拉什福德当选英超9月最佳球员。在9月的比赛中,曼联2战全胜,拉什福德贡献2传2射。此前,英超8月最佳球员奖项被曼城球员哈兰德拿下。其他候选比林,伯恩茅斯小姐姐轻松上手,爽到停不下来,倍益康Q7筋膜枪体验夏季虽然已经过去,但是魔都的秋天依旧炎热,人们的生活和工作还是在夏季的节奏中。每天早晨赶公交,还是可以看到很多人在晨跑。每天下班自己会有沿湖徒步的习惯,也会偶尔在楼下跳绳,总的来说隐藏中国的锡兰公主,拒绝回国接受亿万家产!称中国才是我的故乡在阅读此文之前,麻烦您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持!前言1998年,在泉州涂门街的一家古玩店里,原本不急不缓打扫饰品摆件的老板娘许世比同级车型更适合家用的超值SUV!小黄蜂星迈罗高燃登场提到大黄蜂,人们都会不约而同的想到电影变形金刚中的经典跑车雪佛兰科迈罗。但如果提到小黄蜂,那么人们可谓是知之甚少。其实,小黄蜂代指的是雪佛兰全新推出的新款车型星迈罗。9月19日,上难度S级阵容最强敖兴95大成,上分吃鸡小菜一碟据说,金铲铲之战S7。5版本上线更新后第二天,有的大神只用这一套阵容登顶国服第一王者。大成期的敖兴95克制一切阵容,有兴趣的小伙伴可以去试试。但是,这套阵容也是有很大的缺陷,必须要
发布秀大赏2023春夏纽约时装周9月9日至14日,2023春夏纽约时装周举办,MichaelKorsTomFordProenzaSchoulerCarolinaHerrera等品牌在此期间发布了新一季的设计,还有每天了解一位历史名人刘墉刘墉(17201805年1月24日),字崇如,号石庵,又号香岩日观峰道人石庵山人天香室道人青原等。山东诸城人,清代乾嘉年间著名的政治家书法家和诗人。首席军机大臣刘统勋长子。乾隆十六纽约金价15日下跌新华社芝加哥9月15日电(记者徐静)纽约商品交易所黄金期货市场交投最活跃的12月黄金期价15日比前一交易日下跌31。8美元,收于每盎司1677。3美元,跌幅为1。86。市场分析人士28年前金日成突然暴毙,死因更是众说纷纭,真相究竟如何呢?1994年7月8日,朝鲜第一代最高领导人金日成在一次发脾气中猝死,享年82岁,而关于他的死因众说纷纭,那么一代枭雄究竟是如何陨落的呢?本文就为您娓娓道来。1994年6月,朝鲜半岛局时隔2年多离岸人民币汇率再破7,但对非美货币仍显强势2020年8月以来,人民币对美元汇率在离岸市场首次破7。9月15日晚间,更多反映国际投资者预期的离岸人民币对美元汇率盘中跌破7这一整数关口。本轮人民币汇率下跌始于8月15日央行下调上汽大通MAXUS上汽虎将于今日发布个性更鲜明太平洋汽车网新车频道9月16日,根据官方信息,上汽大通MAXUS旗下的新款皮卡上汽虎将于今日正式发布。新车基于上汽大通MAXUST90(询底价查参配)打造而来,估计在外观套件上会注音频格式转换成mp3格式?简单操作音频格式转mp3将音频格式统一转换成mp3格式,要如何操作?在使用电脑的过程中,经常遇到各种音频文件,它们出处不同,格式也非常繁杂,有些兼容有些无法打开,要把音频格式转换成mp3格式,有什么办法?合并在即以太坊合并转向PoS后会发生什么?在合并正式发布之前,就已经出现了许多争论,并且在合并后它们将继续存在很长时间。以太坊转向权益证明(PoS)可以被认为是加密行业中最重要的事件之一。猜测和错误信息盛行。在这里,我们将寺库APP打不开咨询售后几年前,互联网商业平台迅速发展,趋势下竞争激烈,暴雷一个接一个,最近一个奢侈品平台疑似跑路上了热搜,没错就是我们熟悉的奢侈品电商第一股之称的寺库!去年开始寺库负面新闻不断,陆续接到二氧化碳转化获突破6吨CO2转化为1吨乙烯,100回收碳捕捉技术可在稳定大气中温室气体浓度方面发挥重要作用。跟碳捕捉技术密切相关的是碳封存和碳利用。把捕捉的碳封存起来,是一个巨大的工程,需要耗费大量运输成本和能耗,还需要占用很大的地质IOS16这样升级,才不会发烫耗电阅读本文大概需要5分钟,全文主要介绍三点1ios16新功能概览2正确升级ios16步骤(13个步骤)3总结自从9月8日苹果公司发布了iphone14系列手机后,许多人应该都被苹果的