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

四Swagger介绍与使用(SpringBoot整合Swagger3)

  开发中有很多接口的开发,接口需要配合完整的接口文档才更方便沟通、使用,Swagger是一个用于自动生成在线接口文档的框架,并可在线测试接口,可以很好的跟Spring结合,只需要添加少量的代码和注解即可,而且在接口变动的同时,即可同步修改接口文档,不用再手动维护接口文档。Swagger3是17年推出的最新版本,相比于Swagger2配置更少,使用更方便。 1. 开发环境JDK 1.8 SpringBoot 2.1.18 2. 添加Maven依赖      io.springfox     springfox-boot-starter     3.0.0 3. 添加Swagger配置类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.builders.ResponseBuilder; import springfox.documentation.oas.annotations.EnableOpenApi; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket;  @EnableOpenApi @Configuration public class SwaggerConfig {      @Bean     public Docket createRestApi() {         //swagger设置,基本信息,要解析的接口及路径等         return new Docket(DocumentationType.OAS_30)                 .apiInfo(apiInfo())                 .select()                 //设置通过什么方式定位需要自动生成文档的接口,这里定位方法上的@ApiOperation注解                 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))                 //接口URI路径设置,any是全路径,也可以通过PathSelectors.regex()正则匹配                 .paths(PathSelectors.any())                 .build();     }      //生成接口信息,包括标题、联系人,联系方式等     private ApiInfo apiInfo() {         return new ApiInfoBuilder()                 .title("Swagger3接口文档")                 .description("如有疑问,请联系")                 .contact(new Contact("Jonny", "https://www.baidu.com", "lwhou.hn@163.com"))                 .version("1.0")                 .build();     } }4. 实体类使用Swagger在接口类上添加@Api(tags = "操作接口"),tags的值是该类的作用,在文档页面会显示,value不会显示 在需要生成文档的接口上添加注解@ApiOperation 对请求参数添加@ApiParam@ApiModel("角色持久化类") @Data @EqualsAndHashCode(callSuper=true) public class SysRole extends DocEntity{      @ApiModelProperty(value = "业务id")     private String doctypeid;      @ApiModelProperty(value = "所属分类id")     private String classifyid;      @ApiModelProperty(value = "角色名称")     private String name;      @ApiModelProperty(value = "角色描述")     private String descr;      }5. 控制器类使用Swagger@Api(tags="角色接口") @RestController public class SysRoleController {          @Autowired     private SysRoleService sysRoleService;     @Autowired     private BaseSysService baseSysService;          /**      * 查询所有带分页角色管理      * @param condition 查询条件对象      * @return List      */     @ApiOperation(value = "查询所有带分页角色")      @RequestMapping("/readAll")     @PageableAnnotation     public List readAll(SysRoleParam condition){         return sysRoleService.readAll(condition);     }          /**      * 查询所有无分页角色管理      * @param condition 查询条件对象      * @return List      */     @ApiOperation(value = "查询所有带分页角色")      @RequestMapping("/readAllNoPage")     public List readAllNoPage(SysRoleParam condition){         return sysRoleService.readAll(condition);     }          /**      * 查询单条角色管理      * @param condition 查询条件对象      * @return SysRoleParam      */     @ApiOperation(value = "查询单条角色")     @GetMapping("/readOne")     public SysRoleParam readOne(SysRoleParam condition) {         return sysRoleService.readOne(condition);     }          /**      * 查询单条角色管理      * @param id 主键编号      * @return SysRoleParam      */     @ApiOperation(value = "查询单条角色")     @GetMapping("/readOneById")     public SysRoleParam readOneById(String id) {         return sysRoleService.readOneById(id);     }          /**      * 添加角色管理      * @param entityDto 添加对象      * @return SysRoleParam      */     @ApiOperation(value = "添加角色")      @PostMapping("/add")     public SysRoleParam add(@RequestBody SysRoleParam entityDto) {         return sysRoleService.add(entityDto);     }          /**      * 修改角色管理      * @param entityDto 修改对象      * @return void      */     @ApiOperation(value = "修改角色")      @PostMapping("/update")     public void update(@RequestBody SysRoleParam entityDto) {         sysRoleService.update(entityDto);     }          /**      * 删除角色管理      * @param entityDto 删除对象(delList包含多个对象主键集合)      * @return void      */     @ApiOperation(value = "删除角色")      @PostMapping("/delete")     public void delete(@RequestBody SysRoleParam condition){         sysRoleService.delete(condition.getDelList());     }          /**      * 拖拽排序      * @param entityDto      */     @ApiOperation(value = "拖拽排序")      @PostMapping("updateDrag")     public void dragSort(@RequestBody SysRoleParam entityDto) {         sysRoleService.dragSort(entityDto);     }      }6. 成果展示
  启动服务后,就可以查看在线文档了,本地服务的地址是http://localhost:8080/swagger-ui/index.html ,还可以通过Try it out 来测试。

vivo要造车?官方回应vivo要造车?官方回应并没有,希望专注做手机及周边生态链产品4月23日下午,vivo与富途牛牛在深圳联合举办金融私享会。会议上,vivo投资管理总经理朱贵堂回应造车传闻,称到目前面向对象设计的九大基本原则(GRASP)对象的创建是面向对象系统中常见的活动之一。因此需要确认哪一个类别有职责创建对象。问题哪个类别要创建对象A?解决方案一般而言,类别B若符合以下一个(也有可能是多个)条件,有权责要创建wordpress获取某个文章所在分类的函数getthetermlist这个函数用在自定义分类法中,获取对应文章所在的分类。函数getthetermlist(id,taxonomy,before,sep,after)参数id帖子ID(必须)taxono造车新势力第一阵营由三强变五虎在疫情和缺芯的双重压力下,国内新能源汽车产交付量仍双双超过350万辆,同比实现了1。6倍的增长。这其中,造车新势力作为国内新能源汽车市场中一支重要的新生力量,正以不断扩大的规模体量腾讯,你不改革,时代必革你马克思说如果有10的利润,资本就会保证到处被使用有20的利润,资本就能活跃起来有50的利润,资本就会铤而走险为了100的利润,资本就敢践踏人间一切法律有300以上的利润,资本敢犯任苹果跌出前三!国内手机销量榜出炉OPPO第一,荣耀第二4月25日消息,市场调研机构CINNOResearch最新报告显示,2022年3月,国内智能手机销量约2004万部,同比下滑24。7,环比下滑14。6。荣耀以350万部排名第一,同网友刷量赚取注册奖励被判收益无效广州日报讯(全媒体记者章程)诚信理念不仅应当体现在现实生活的方方面面,在网络空间上同样应该得到提倡和遵守。网络水军与流量造假等行为除了破坏公平竞争的市场秩序,还会侵蚀网络空间的社会中非共和国宣布采用比特币作为法定货币记者司林威4月23日,据福布斯,非洲国家中非共和国国民议会通过了一项法案,宣布采用比特币作为法定货币,以帮助该国的经济复苏和建设和平计划走上正轨。这将是继萨尔瓦多之后,又一将比特币信息安全有多重要根据来自网络的消息,俄罗斯在乌克兰损失多名高级将领,而罪魁祸首来自于美国人脸识别公司ClearviewAI,据外媒消息该公司已向乌克兰政府部门开放人脸数据库,包含20亿张从俄罗斯社12家券商App涉嫌隐私不合规被通报,大智慧等炒股软件也被点名多款券商App因涉隐私不合规等问题被点名,事涉海通证券广发证券西部证券中国银河等多家券商。新华社月25日消息称,国家计算机病毒应急处理中心近期通过互联网监测发现17款移动App存在人工智能法律主体地位观点汇总观点内容否定说意识标准说精神是人与物的分界线。人工智能即使具有意识状态,也与人类的意识有本质上区别。意志标准说人工智能体所执行的只是设计者或使用者的意志,本身不具备自由意志。工具说
iOS15更新,发现实用的功能iOS15更新,发现实用的功能关注公众号果粉机帮助果粉们快速成长Apple针对iOS15不断更新,果粉机发现在健康App内有一些新的改进。主要照顾使用iPhone的一些老果粉,帮助小米手机MIUI12。5需要打开和关闭的几个功能和设置也可关闭广告小米手机MIUI12。5需要打开和关闭的几个功能和设置,可以让小米手机或者红米手机都使用更快捷方便以及提升手机流畅度和安全性!小米官方公布关闭广告方法这才是最好的MIUI打开设置小让人上瘾的自拍效果和功能,vivoS10让你从此爱上自拍自拍成为了现在年轻人的重要名片,但问题是,本身自己长得并不差,但是拍出来自己都觉得难看,而长得不如自己却拍出来比自己好看,其实这其中的原因,可能是你少了一部能拍出好看自拍照的手机。iPhone13即将上市,说说苹果手机有哪些隐藏的功能吧转眼就要到九月了,离iPhone13上市又近了一步。今天我们就来说说,苹果手机的哪些隐藏的小功能吧。横屏计算器将屏幕横向翻转切换成科学计算器,输错数字后向左或向右滑动一下就删除最近圣谛丹拿音响Performance表现集技术经验和多项专利技术于一身一直以来,丹拿对旗下定制安装系列产品的要求都非常明确,喜欢丹拿的用户,能在定制安装音箱系列上听到不输HiFi音箱的声音效果,同时这些产品要做到操作简便优雅简洁易于安装,并且具有极大uniapp支付宝支付的前端开发经验分享在前段时间的开发需求中,有一项uniappH5和APP端接入支付宝功能的需求,虽然这项功能前端的工作并不多,但还是根据这次的开发经验和踩过的坑做一个分享。首先在对项目开启支付功能,滴滴出行即将结束审查,留给高德滴答出行的时间不多了前段时间,滴滴因为违规收集用户信息,并且存在泄露风险的嫌疑,受到了多个部门的联合审查。在安全审查期间,滴滴的各类软件被强制下架,新用户也无法注册,高德滴答出行和一喂出行到了黄金发展怎么查看电脑使用次数与时间如何查看使用电脑的次数和时间?买了一台新电脑后,想知道,以前没有用过的,怎么查看这个,方法很简单,可以通过系统的事件查看器来确定开关机的时间,事件查看器记录下所有开关机的记录,具体vivoX70系列官宣发布时间及真机渲染图!继续携手蔡司8月30日上午,vivo官方公布vivoX70系列将于9月9日1930正式发布。vivo此番继续携手蔡司,深入探索影像的新视界。从官方曝光的手机渲染图我们可以看到,这一次的vivo什么材料适合做锂电池正极?废水该如何处理?随着新能源汽车电子产品的发展,锂电池的需求也随着越来越大。而正极材料是锂电池的核心之一,市面上的正极材料有钴酸锂磷酸铁锂以及三元材料。三元材料是镍钴锰酸锂Li(NiCoMn)O2,绿哥今日看点当ColorOS12遇上平板,会有什么化学反应?最近,OPPO的ColorOS系统在网络上热度很高,大家都在期待它新一代的系统更新,那么今天绿哥就来给大家捋捋时间线。前段时间,就有数码博主在OPPO智能助理上发现了一些隐藏的信息