spring boot集成swagger2
spring boot版本2.0.4swagger版本2.7.0
第一步、在pom文件中添加swagger的相关依赖
<swagger.version>2.7.0</swagger.version>
<!-- Swagger2依赖 --> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${swagger.version}</version> </dependency> <!-- Swagger2 UI依赖 --> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>${swagger.version}</version> </dependency>
第二步、在Application同级目录下创建Swagge配置类
Swagger
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;/*** Swagger2 API配置* @author sushengbuyu* @date 2018/9/6 9:04*/ @Configuration @EnableSwagger2 public class Swagger2 {@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.sushengbuyu.life.controller")).paths(PathSelectors.any()).build();}/*** Api的基本信息* @return ApiInfo*/private ApiInfo apiInfo(){return new ApiInfoBuilder().title("Spring Boot中使用Swagger2构建RESTful APIs").description("使用Swagger2构建RESTful APIs").contact(new Contact("苏生不语", "https://www.cnblogs.com/zuosl/", "18761647971@163.com")).version("1.0").build();} }
第三步、在Controller使用@Api注解
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sushengbuyu.life.common.ErrorCode; import com.sushengbuyu.life.common.Result; import com.sushengbuyu.life.entity.User; import com.sushengbuyu.life.service.UserService; import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;/*** <p>* 用户表 前端控制器* </p>** @author sushengbuyu* @since 2018-09-04*/ @Api(tags = {"用户接口"}) @RestController @RequestMapping("/users") public class UserController extends BaseController{@Autowiredprivate UserService userService;@ApiOperation(value = "用户列表", notes = "获取所有用户列表")@GetMappingpublic Result list(){Page<User> page = (Page<User>) userService.page(new Page<User>(1,10), new QueryWrapper<User>().orderByDesc("create_time"));return success(page);}@ApiOperation(value = "新增用户", notes = "添加一个用户")@PostMappingpublic Result add(@ModelAttribute User user){boolean result = userService.save(user);return result ? success(null) : failed(ErrorCode.FAILED);}@ApiOperation(value = "用户详细", notes = "根据ID获取用户信息")@GetMapping("{id}")public Result getUser(@PathVariable long id){User user = userService.getById(id);return user != null?success(user) : failed(ErrorCode.USER_NOTFOUND);}@ApiOperation(value = "修改用户", notes = "根据ID修改用户信息")@PutMapping("{id}")public Result updateUser(@PathVariable long id,User user){user.setUid(id);boolean result = userService.updateById(user);return result ? success(null) : failed(ErrorCode.USER_NOTFOUND);}@ApiOperation(value = "删除用户", notes = "根据ID删除用户")@DeleteMapping("{id}")public Result deleteUser(@PathVariable long id){boolean result = userService.removeById(id);return result ? success(null) : failed(ErrorCode.USER_NOTFOUND);}}
第四步、启动项目
访问http://localhost:{你的端口}/swagger-ui.html
第五步、显示中文
双击shift建,输入swagger-ui.html,在resources目录下新建META-INF\resources目录,把找到的swagger-ui.html复制过来
打开文件,在head标签里面添加下面的代码
<!--国际化操作:选择中文版 --><script src='webjars/springfox-swagger-ui/lang/translator.js' type='text/javascript'></script><script src='webjars/springfox-swagger-ui/lang/zh-cn.js' type='text/javascript'></script>
重启项目,再打开swagger就是中文显示了
备注:
原本Controller使用@Api(value="XX接口")的
后来发现value设置了没有效果,改成了@Api(tags={"XX接口"})页面才显示中文。。。
如果你项目中使用了@EnableWebMvc需要手动设置swagger-ui.html的位置
@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/statics/**").addResourceLocations("classpath:/statics/");// 解决 SWAGGER 404报错registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
转载于:https://www.cnblogs.com/zuosl/p/9596837.html
spring boot集成swagger2相关推荐
- Spring Boot 集成Swagger2生成RESTful API文档
Swagger2可以在写代码的同时生成对应的RESTful API文档,方便开发人员参考,另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API. 使用Spring Boot可 ...
- Spring Boot——集成Swagger2
问题描述 在团队开发中,一个好的 API 文档不但可以减少大量的沟通成本,还可以帮助一位新人快速上手业务.传统的做法是由开发人员创建一份 RESTful API 文档来记录所有的接口细节,并在程序员之 ...
- Spring Boot 集成 Swagger2,构建强大的 API 文档
前言 不管你是从事前端还是后端开发,相信都难免被接口文档折磨过.如果你是一个前端开发者,可能你会经常发现后端给的接口文档跟实际代码有所出入.而假设你是一个后端开发者,你可能又会觉得自己开发后端接口已经 ...
- 软件架构-Spring boot集成模板引擎swagger2实现
上次说过springboot其实就是一个CI工具,如何体验出来CI的作用就是持续集成,它可以集成各种的工具,这里说说关于模板的集成引擎和Swagger. (一)Spring boot 集成模板引擎实现 ...
- Spring Boot 集成 Swagger 生成 RESTful API 文档
原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...
- Spring Boot集成Swagger
Spring Boot集成Swagger @(Swagger)[swagger, springfox, springboot] Spring Boot集成Swagger 前言 基本概述 案例 引入依赖 ...
- 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建
从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...
- Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
1. 概述 本文的内容包括如下内容: Spring Boot集成mybatis Spring Boot集成pagehelper分页插件,定义分页的相关类 实现工具类:model转dto,实现数据层和传 ...
- 从零搭建开发脚手架 Spring Boot集成Mybatis-plus之一
文章目录 简介 特性 框架结构 依赖集成 依赖 配置 编码 开始使用 核心功能 代码生成器 添加依赖 编码 编写配置 自定义模板引擎 自定义代码模板 自定义属性注入 字段其他信息查询注入 实战总结 常 ...
- Spring Boot集成Swagger导入YApi@无界编程
接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...
最新文章
- 9 10次C语言上机作业,C语言第五次上机作业参考答案
- 产品经理入门——PM
- python导入csv文件是如何预览后10行-使用python中的csv reader只读取前N行csv文件
- OpenCASCADE:形状愈合之用于修复、分析和升级的辅助工具
- 《王者荣耀》游戏技术总监:技术架构与同步方案上做出改变?
- struts2校验再提交多条提示信息
- YbtOJ#893-带权的图【高斯消元,结论】
- mysql 8.0认证失败_解决mysql8.0因密码认证插件导致的链接不上
- 语音识别学习日志 2019-7-17 语音识别基础知识准备6 {维特比算法(Viterbi Algorithm)}
- android 跳转动画黑屏,Android8.0 适配解决页面跳转过程出现短暂黑屏的问题
- mysql 主主+keepalive
- python机器学习案例系列教程——聚类算法总结
- zynq跑linux所需内存大小,Zynq-Linux移植学习笔记之33-CMA连续物理内存配置
- 用 C# 做人脸检测(基于EmguCV)
- UE4学习-初识虚幻引擎(下载、安装、重定向问题、安装引擎、启动)
- 软件需求分析文档模板
- Smartbi报表工具二次开发和集成能力怎么样?
- uni-app 预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件
- 【机器学习】泛化误差上界
- 滁州学院元旦晚会计算机,滁州学院机械学院2017元旦晚会精彩上演
热门文章
- 毕业三年,同学基本都辞职了,大部分人看完很有同感~
- 位置编码在注意机制中的作用
- 她不讲武德,北航博士竟然把60年来的文本分类综述都整理了!!!
- 中国成为「研究生大国」,99%研究生背后的焦虑:就业更难了!
- 原价399,限时1元!7天人工智能入门训练营:带你从0掌握机器学习算法!
- 【长文详解】T5: Text-to-Text Transfer Transformer 阅读笔记
- 干货 | 一文掌握常用的机器学习模型
- PyTorch学习—21.GPU的使用
- 金融评分卡项目—3.流失预警模型中的数据预处理与特征衍生
- 深度学习2.0-15.随机梯度下降之梯度下降简介