springboot2.1.7整合swagger2.9.2
什么是swagger?
swagger是用于定义API文档的一个框架。
为什么要使用swagger?
当下项目开发时前后端是分离的,那么接口就成了前后端唯一的纽带。前端工程师如何知道哪个接口是干嘛的?里面有什么方法?方法需要什么参数?...... 这时候就需要一份简洁且详尽API文档,swagger就是用来自动生成API文档。
怎么使用swagger?
1. 导入pom依赖
不同的版本ui界面有所差别,个人感觉2.7.0比较舒服
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2. 编写配置类(复制可直接使用,最好建一个config包放以下类)
SwaggerConfig类:
@Configuration //声明这是一个注解类
@EnableSwagger2 public class SwaggerConfig { @Bean
public Docket customDocket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors
.basePackage("com.gl.pin.web.controller"))
.paths(PathSelectors.any()).build();
} private ApiInfo apiInfo(){
Contact contact = new Contact("zjk",
"https://www.cnblogs.com/zjk-main/",
"1066406756@qq.com");
return new ApiInfoBuilder()
.title("项目API接口")
.description("接口描述")
.contact(contact)
.version("1.1.0")
.build();
}
}
WebMvcConfig类:
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry){
// 解决静态资源无法访问(可选)
/*registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/");*/
// 直接在浏览器访问:根目录/swagger-ui.html
registry.addResourceHandler("/swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
// 需要用到的webjars(包含js、css等)
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
3. 在每个controller、method上加上注释
@Api加在类上
@ApiOperation加在方法上
示例:
@ResponseBody
@Controller
@RequestMapping(value = "/admin")
@Api(value = "没什么用,可不配",tags = "admin/zjk",description = "管理员操作")
public class AdminController { @ApiOperation(httpMethod = "POST",value = "管理员登录" ,produces = MediaType.TEXT_HTML_VALUE,tags = "admin/zjk",notes = "参数")
@PostMapping(value = "/login")
public String login(AdminEntity adminEntity){
return "login";
}
}
4. 访问根目录/swagger-ui.html
在这个页面可以看到controller类的描述,类里面方法的描述,方法参数、返回值的描述等等。swagger还提供了类似于postman的接口测试功能。
springboot2.1.7整合swagger2.9.2的更多相关文章
- Springboot项目整合Swagger2报错
SpringBoot2.2.6整合swagger2.2.2版本的问题,启动SpringBoot报如下错: Error starting ApplicationContext. To display t ...
- SpringBoot2 整合 Swagger2
SpringBoot2 整合 Swagger2 SpringBoot整合三板斧 第一步.引入pom <dependency> <groupId>com.spring4all&l ...
- SpringBoot2 整合 Swagger2文档 使用BootstrapUI页面
SpringBoot2 整合 Swagger2 SpringBoot整合三板斧 第一步.引入pom <dependency> <groupId>com.spring4all&l ...
- SpringBoot整合Swagger2,再也不用维护接口文档了!
前后端分离后,维护接口文档基本上是必不可少的工作.一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了.当然这是一种非常理想的状态,实际开发中却很 ...
- springBoot(12)---整合Swagger2
Spingboot整合Swagger2 随着互联网技术的发展,一般开发都是前后端分离,那么前端和后端的唯一联系,变成了API接口:API文档变成了前后端开发人员联系的纽带,变得越来越重要,没有API ...
- SpringBoot整合系列-整合Swagger2
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9959844.html SpringBoot整合Swagger2 步骤 第一步:添加必要的 ...
- SpringBoot(七):SpringBoot整合Swagger2
原文地址:https://blog.csdn.net/saytime/article/details/74937664 手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文 ...
- SpringBoot整合Swagger2
相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人开发前后台的年代,当我没说,如今为了前后台更好的对接,还是为了以后交接方便,都有要求写API文档. 手写Api文档的几个痛点: 文档需 ...
- springboot+cloud 学习(四)Zuul整合Swagger2
前言 在微服务架构下,服务是分散的,怎么把所有服务接口整合到一起是我们需要关注的. 下面举例用zuul作为分布式系统的网关,同时使用swagger生成文档,想把整个系统的文档整合在同一个页面上来说明. ...
随机推荐
- VisualStudio 2019 Serials
9DP6T-9AGWG-KWV33-9MPC8-JDCVF 7G2HE-JR8KL-ABB9D-Y7789-GLNFL U2PWU-H7D9H-69T3B-JEYC2-3R2NG R8R8P-MTT6 ...
- BZOJ 5305: [Haoi2018]苹果树 组合计数
一定要注意要乘阶乘,细节很多. code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s ...
- telegraf 学习三 telegra inputs.net_response + smtp2http+ grafana 进行tcp服务状态监控
以下演示一个简单的使用telegra inputs.net_response 进行tcp 服务状态的监控,统计集成grafana 的alert 为了方便使用了一个smtp2http 的服务,对于htt ...
- openjdk k8s port-forward 连接容器jmx服务
jmx 是java 自带的,如果需要使用我们只需要添加对应的配置即可,以下演示docker 集成jmx 使用kompose 生成k8s 的部署文件,使用port-forward 进行连接,所以java ...
- CSS链接伪类:超链接的状态
一.状态: a:link{属性:值;} 链接默认状态 a:visited{属性:值;} 链接访问之后的状态 a:hover{属性:值;} 鼠标放到链接上显示的状态 a:active{属性:值;} 链接 ...
- 22-ESP8266 SDK开发基础入门篇--编写Android TCP客户端 , 连接和断开
https://www.cnblogs.com/yangfengwu/p/11192618.html 有些很细致的东西参考这篇 https://www.cnblogs.com/yangfengwu ...
- 洛谷P2432 zxbsmk爱查错
题目 DP,需要注意边界上的问题. 状态定义\(dp[i]\)为句子第i位去除字母的最小值,答案就是\(dp[len]\). 易得状态转移方程为: \[dp[i]=min(dp[i-1]+1,dp[l ...
- Good Morning
题目链接:Good Morning 题目大意:按键盘上的数字,只能在此位置的基础上往右往下按,要求输出与所给值差的绝对值最小的数 AC代码如下: #include <iostream> # ...
- 全面解读Group Normalization,对比BN,LN,IN
前言 Face book AI research(FAIR)吴育昕-何恺明联合推出重磅新作Group Normalization(GN),提出使用Group Normalization 替代深度学习里 ...
- SSM项目的搭建
本文示例在如下环境下搭建一个Maven+Druid+SSM+Shiro+Mysql+PageHelper以及Mybatis Generator反向生成代码的项目 附上GitHub地址:https:// ...