【项目精讲】Swagger接口文档以及使用方式

Swagger

介绍

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)

  1. 前后端分离开发,有利于团队合作
  2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担
  3. 功能测试

如何使用

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,项目中用knife4j框架生成swagger接口文档

  1. pom.xml中添加依赖
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
  1. 配置类中加入knife4j的相关配置——WebMvcConfiguration.java
/*** 通过knife4j生成接口文档* @return
*/@Beanpublic Docket docket() {ApiInfo apiInfo = new ApiInfoBuilder().title("苍穹外卖项目接口文档").version("2.0").description("苍穹外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller")).paths(PathSelectors.any()).build();return docket;}
  1. 设置静态资源映射,否则接口文档页面无法访问——WebMvcConfiguration.java
/*** 设置静态资源映射* addResourceHandlers是重写了父类的方法* 告诉Spring MVC框架,如何处理静态资源请求* @param registry*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("开始设置静态资源映射…");//  其中/doc.html请求会被映射到类路径META-INF/resources/目录下的资源registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
  1. 通过注解控制生成的接口文档
    1. @Api:用在类上,例如Controller,表示对类的说明
    2. @ApiOperation:用在方法上,例如Controller的方法,说明方法的用途、作用
    3. @ApiModel:用在类上,例如entity、DTO、VO
    4. @ApiModelProperty:用在属性上,描述属性信息

参考

https://www.bilibili.com/video/BV1TP411v7v6/?spm_id_from=333.337.search-card.all.click&vd_source=0d2a9b4260ce977e642d073c6ee2260d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业邮箱价格调查:找到适合你的最佳选择

企业邮箱价格从免费到几百元的都有&#xff0c;价格不同获得的功能和服务也不同&#xff0c;按需购买。企业邮箱多少钱一年&#xff1f;企业邮箱价格。Zoho Mail企业邮箱轻量版300元/5用户/年&#xff0c;高级版200元/用户/年&#xff0c;套件版150元/用户/元。具体的价格取决于…

Unity发布Andriod构建失败各种原因汇总

工程路径不能有中文(老生常谈了)计算机用户名不能是中文,改完重启注意上方截图,我的用户名那时候是中文的.我是最后在解决这个问题以后成功的删除C:\Users\Administrator\.gradle目录(让Unity重新构建此目录)删除.C:\Users\Administrator\.android目录(解决构建时密钥报错问题)…

《HF经理》:一、管理误区

1、不善授权: 原因&#xff1a;不信任下属&#xff0c;惯性思维&#xff08;任务一来自己冲到最前面&#xff09; 对策&#xff1a;从个人成功到带领团队成功。培养并信任下属。 2、不主动寻求上级支持: 原因&#xff1a;上级不仅仅是你的监督和考核者&#xff0c;还是你的支…

两分钟启动一个flask应用

安装依赖 pip install flask -i https://pypi.douban.com/simple pip install flask_cors -i https://pypi.douban.com/simple简单示例 # app.py from flask import Flask, request, send_from_directory, jsonify from flask_cors import CORSapp Flask(__name__) # 创建fl…

计算机网络 Cisco静态路由实验

一、实验要求与内容 1、路由器的基本配置 &#xff08;1&#xff09;命名 &#xff08;2&#xff09;关闭域名解析 &#xff08;3&#xff09;设置路由接口IP地址 2、配置静态路由以实现所有客户机都能互相通信 3、配置默认路由 4、了解ping命令和trace&#xff08;跟踪…

Python常用OS库之path模块学习

学习python没有太多捷径&#xff0c;有也只有技巧&#xff0c;更重要的是要多学多练&#xff0c;个人觉得练更重要&#xff0c;读万卷书不如行万里路。编程是一门技能&#xff0c;所以除了看还要多实践&#xff0c;写得多了自然也就有了路。 如果看全部的标准库文档&#xff0…

基于SpringBoot的“外卖点餐系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“外卖点餐系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能图 用户功能界面 订单管理界面 配送单管…

js禁用所有的input

要在JavaScript中禁用所有的input元素&#xff0c;您可以使用document.querySelectorAll方法来选择所有的input元素&#xff0c;然后使用一个循环来为它们设置disabled属性。以下是实现这一功能的示例代码&#xff1a; // 选择所有的input元素 const inputs document.querySel…

Python 字典组成的数组怎么进行去重?

你知道吗&#xff1f;如果数组是字典组成的&#xff0c;直接对数组内的字典采用 set 的方式进行去重&#xff0c;会报错&#xff1a; test [{"a": 1}, {"a": 1}, {"a": 3}, {"b": 4}] test list(set(test)) >>> TypeError…

设计模式——迭代器模式15

迭代器模式提供一种方法访问一个容器对象中各个元素&#xff0c;而又不需暴露该对象的内部细节。 设计模式&#xff0c;一定要敲代码理解 抽象迭代器 /*** 迭代抽象* */ public interface Iterator<A> {A next();boolean hasNext(); }迭代器实现 /*** author ggbond*…

极市平台 | 卫星图像公开数据集资源汇总

本文来源公众号“极市平台”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;卫星图像公开数据集资源汇总 本文收集整理了卫星图像的开源数据集&#xff0c;多用于图像分割方向&#xff0c;希望能给大家的学习带来帮助。 1 水体卫…

Vue 3中的反向代理 和如何在服务器配置反向代理

如何在Vue 3项目中配置反向代理&#xff0c;让前端开发变得爽到爆&#xff01;还有个小插曲&#xff0c;Vite为我们提供了更简单的方式&#xff0c;就像找对象一样直接。 首先&#xff0c;我们来谈谈反向代理是什么。简单来说&#xff0c;反向代理就像是前端和后端之间的婚姻介…

DHCP是什么意思 路由器中DHCP服务器怎么设置?

概述 DHCP是什么意思&#xff1f;很多朋友在路由器设置中&#xff0c;都会看到有一项“DHCP服务器”设置功能&#xff0c;而很多朋友对这个功能不太了解&#xff0c;也不知道怎么设置。其实&#xff0c;对于普通用户来说&#xff0c;无需去单独设置路由器DHCP服务器功能&#…

CMake快速入门

文章目录 目的环境准备快速入门总结 目的 C/C的代码可以直接使用编译工具链进行编译&#xff0c;这种方式文件一多就不方便了。也可以编写 Makefile 然后使用 make 进行编译&#xff0c;当然写 Makefile 其实也挺繁琐。对于大型项目比较流行的是编写 CMakeLists.txt 然后使用 …

【C++基础】chrono

1、chrono介绍 chrono 是 C 标准库中的一个头文件&#xff0c;提供了处理日期、时间、时钟等时间相关操作的功能。它在 C11 标准中引入&#xff0c;提供了更方便、更强大的时间处理功能。 1.1 类&#xff1a; std::chrono::duration: 代表时间段&#xff0c;可以表示一段时间…

C/C++字符串操作

C/C对字符串的操作提供了丰富的函数库&#xff0c;这些函数可以用于创建、修改、比较和搜索字符串等。以下是一些常用的字符串操作函数及其使用说明&#xff1a; C语言中的字符串操作 在C语言中&#xff0c;字符串通常以字符数组的形式存在&#xff0c;并以空字符&#xff08…

SpringBoot中注册Bean的方式汇总

文章目录 ComponentScan Componet相关注解BeanImportspring.factories总结Configuration和Component的主要区别&#xff1f;Bean是不是必须和Configuration一起使用&#xff1f;Import导入配置类有意义&#xff1f;出现异常&#xff1a;java.lang.NoClassDefFoundError: Could…

大语言模型总结整理(不定期更新)

《【快捷部署】016_Ollama&#xff08;CPU only版&#xff09;》 介绍了如何一键快捷部署Ollama&#xff0c;今天就来看一下受欢迎的模型。 模型简介gemmaGemma是由谷歌及其DeepMind团队开发的一个新的开放模型。参数&#xff1a;2B&#xff08;1.6GB&#xff09;、7B&#xff…

TCP协议--传输机制

TCP协议原理 TCP协议是对数据传输提供的一个管控机制&#xff0c;主要体现在可靠和效率两个方面&#xff0c;即在保证数据可靠传输的情况下尽可能的提高效率 可靠传输机制 确认应答机制 向对方发送一个数据报&#xff0c;对方要返回一个确认应答的数据报 实现的方式&#x…

文心一言 VS 讯飞星火 VS chatgpt (236)-- 算法导论17.3 2题

二、使用势能法重做练习17.1-3。练习17.1-3的内容是&#xff1a;假定我们对一个数据结构执行一个由 n 个操作组成的操作序列&#xff0c;当 i 严格为 2 的幂时第 i 个操作的代价为 i &#xff0c;否则代价为1。使用聚合分析确定每个操作的摊还代价。如果要写代码&#xff0c;请…