关键词:
一:什么是Swagger
Swagger是一款通过我们添加的注解来对方法进行说明,来自动生成项目的在线api接口文档的web服务。
二:添加Swagger2依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
三:创建Swagger2配置文件
在文件夹configurer中创建SwaggerConfigure
package com.example.demo.core.configurer; 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; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * @author * @Description:Swagger2 配置文件 * @time 2018/4/20 22:42 */ @Configuration @EnableSwagger2 public class SwaggerConfigurer { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("mySpringBoot 使用Swagger2构建RESTful APIs") .description("更多Spring Boot相关文章请关注:https://juejin.im/user/59e7fb9451882578e1406a51/posts") .termsOfServiceUrl("https://juejin.im/user/59e7fb9451882578e1406a51/posts") .contact(new Contact("Mr_初晨", "https://gitee.com/beany/mySpringBoot", null)) .version("1.0") .build(); } }
四:修改Controller,添加API注解
package com.example.demo.controller; @RestController @RequestMapping("userInfo") @Api(tags = {"用户操作接口"}, description = "userInfoControler") public class UserInfoController { @Resource private UserInfoService userInfoService; @PostMapping("/hello") public String hello() { return "hello SpringBoot"; } @ApiOperation(value = "查询用户", notes = "根据用户ID查询用户") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Integer", paramType = "query") }) @PostMapping("/selectById") public RetResult<UserInfo> selectById(@RequestParam Integer id) { UserInfo userInfo = userInfoService.selectById(id); return RetResponse.makeOKRsp(userInfo); } @PostMapping("/testException") public RetResult<UserInfo> testException(Integer id) { List a = null; a.size(); UserInfo userInfo = userInfoService.selectById(id); return RetResponse.makeOKRsp(userInfo); } }
六:解决问题
继承WebMvcConfigurationSupport
之后,静态文件映射会出现问题,需要重新指定静态资源
在WebConfigurer
中添加如下代码
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("/favicon.ico") .addResourceLocations("classpath:/META-INF/resources/favicon.ico"); super.addResourceHandlers(registry); }
访问地址: localhost:8080/swagger-ui.html
七常用注解
常用注解:
- @Api()用于类;
表示标识这个类是swagger的资源
- @ApiOperation()用于方法;
表示一个http请求的操作
- @ApiParam()用于方法,参数,字段说明;
表示对参数的添加元数据(说明或是否必填等)
- @ApiModel()用于类
表示对类进行说明,用于参数用实体类接收
- @ApiModelProperty()用于方法,字段
表示对model属性的说明或者数据操作更改
- @ApiIgnore()用于类,方法,方法参数
表示这个方法或者类被忽略
- @ApiImplicitParam() 用于方法
表示单独的请求参数
- @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
具体使用举例说明:
@Api()
用于类;表示标识这个类是swagger的资源
tags–表示说明
value–也是说明,可以使用tags替代
springboot整合swagger2搭建api在线文档
...阅和测试功能。利用Swagger2很容易构建RESTful风格的API,在SpringBoot中集成Swagger2,步骤如下。1.引入依赖<!--Swagger2--><dependency><groupId> 查看详情
springboot整合swagger2
SpringBoot整合Swagger2相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人开发前后台的年代,当我没说,如今为了前后台更好的对接,还是为了以后交接方便,都有要求写API文档。手写Api文档的几个痛点:文档需... 查看详情
springboot2整合swagger2-plus
目录一.整合swagger21.加依赖2.写配置3.常用注解:4.演示demo5.实际效果查询新增登录二.整合swagger2-plus1.加依赖2.写配置3.实际应用4.最终效果新增登录一.整合swagger21.加依赖<!--引入swagger2--><dependency><groupId>io.springfox</gr... 查看详情
springboot之swagger2集成
一、Swagger2简单介绍 Swagger2,它可以轻松的整合到SpringBoot中,并与SpringMVC程序配合组织出强大RESTfulAPI文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以... 查看详情
springboot整合swagger2使用教程
1.引入依赖<!--依赖管理--><dependencies><dependency><!--添加Web依赖--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>< 查看详情
springboot整合swagger2
手写Api文档的几个痛点:文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。接口返回结果不明确不能直接在线测试接口,通常需要使用工具,比如postman接口文档太多,不好管理 Swagger也就是... 查看详情
springboot整合swagger2
一关于SwaggerSwagger能成为最受欢迎的RESTAPIs文档生成工具之一,有以下几个原因:Swagger可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。Swagger可以生成客户端SDK代码用于各种不同的平台上的实现。Swagger... 查看详情
[idea]springboot整合swagger2实现crud
一:创建SpringBoot,在pom.xml文件中加入jar包 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version></dependenc 查看详情
springboot整合swagger2自动生成restfulapi文档
1)首先编辑pom.xml添加依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><de 查看详情
springboot之整合swagger2
参考技术A随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。前端和后端的唯一联系,变成了API接口;API文档变成了... 查看详情
springboot整合--swagger2(代码片段)
...tId>spring-boot-starter-web</artifactId></dependency><!--springboot测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--Swagge... 查看详情
一分钟完成springboot项目整合swagger2实现自动生成接口文档
...但本人认为还是利大于弊的。接下来我们将Swagger2整合到springboot项目中,并用swagger-bootstrap-ui对Swagger2进行界面美化,废话不多说,我们开始。。。在pom.xml中导入在application.yml中设置swagger2是否开启的开关,关闭后接口文档被关... 查看详情
企业级springboot落地:swagger2整合并不是那么随便(代码片段)
在前后联调时,一个高质量的接口文档工具是必不可少的。否则就会出现前后台人员不停的来回沟通的现象,浪费大量的时间。在大多数企业的接口文档使用的都是swaager,可能唯一的缺陷就是ui样式不是特别给力。但... 查看详情
springboot1.5.4集成swagger2构建restfulapi(十八)
上一篇博客地址:springboot1.5.4整合rabbitMQ(十七)1 SpringBoot集成Swagger2构建RESTfulAPI文档1.1 Swagger2简介Swagger2官网:http://swagger.io/由于SpringBoot能够快速开发、便捷部署等特性,相信有很大一部分SpringBoo 查看详情
springboot整合swagger,方便后端测试
参考技术A用Swagger能够在后端写好接口后进行测试,测试过程非常方便。Swagger是一个用于生成、描述和调用RESTful接口的Web服务。通俗的来讲,Swagger就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和... 查看详情
springboot2.0系列教程springboot框架添加swagger2来在线自动生成接口的文档+测试功能(代码片段)
Hello大家好,本章我们添加Swagger2来在线自动生成接口的文档+测试功能。有问题可以联系我[email protected]。另求各路大神指点,感谢一:什么是SwaggerSwagger是一款通过我们添加的注解来对方法进行说明,来自动生成项目的在线a... 查看详情
springboot集成swagger2(代码片段)
1、swagger简介 Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 当我们在后台的接口修... 查看详情
搭建基础后台框架及整合swagger2及整合mybatisplus代码器(代码片段)
1、创建父工程管理所有的依赖 (1)、删除src目录,指定pom(2)导入依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.9.RELEASE</version>&... 查看详情