Swagger2与Spring mvc集成
来源:互联网 发布:碳谱数据库 编辑:程序博客网 时间:2024/05/16 04:31
1. 介绍
Swagger强大之处就在于他自动生成API文档,使后台开发不用频繁地写API文档。Swagger生成的api文档是实时更新的,你写的api接口有任何的改动都会在文档中及时的表现出来。看到这里是不是回想起之前手写的API文档那段日子,在现在看来确实很浪费时间。
2. maven依赖包
<!-- Swagger api文档生成工具依赖包 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.2.3</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.2.3</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.2.3</version></dependency><!-- Swagger end -->
3. 创建swagger的config类
/** * * @author Kris * @date 2017/12/05 */@EnableSwagger2public class SwaggerConfig { @Bean public Docket myDocket() { Docket docket = new Docket(DocumentationType.SWAGGER_2); //API文档描述 ApiInfo apiInfo = new ApiInfo("API接口文档", "微信端API接口文档","1.0","apiDocs","","",""); docket.apiInfo(apiInfo); // 下面这句代码是只生成被ApiOperation这个注解注解过的api接口 // 以及最后一定要执行build()方法,不然不起作用 docket.select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).build(); return docket; }}
加载config的Bean
<!-- 注解驱动 --><mvc:annotation-driven /><!-- 扫描包 --><context:component-scan base-package="com.xxx"/><!--swagger的配置类--><bean class="com.xxx.swagger.SwaggerConfig" />
自定义类CustomSwaggerConfig这个类的bean定义放置在spring的哪个配置很重要,我这里定义的自动扫描包路径也是在这个配置文件中所以才将CustomSwaggerConfig放在这个类中.如果你的spring和springmvc分了两个配置文件,就要注意CustomSwaggerConfig的放置位置
4.API注解
** * @author shell */@Controller@Api(value = "controller的名字描述")@RequestMapping("/model")public class BaseModelController extends BaseController { @Autowired private BaseModelService service; @RequestMapping("/test/{hhh}") @ApiOperation(notes = "接口孟子", value = "test") public ResultObject test(@ApiParam(required = true, name="參數名") @PathVariable("hhh") String hhh ) { return resultObject; }}
5、Swagger-Ui的设置
首先去官网下载Swagger-ui
链接地址:https://swagger.io/download-swagger-ui/
然后将dist下的文件夹拷贝到我们webapp下的swagger文件夹里
注意注意
将index.html文件中url设置
// 修改这个url地址为: http://{ip:port}/{projectname}/v2/api-docs
// {ip:port}: 改为你自己的项目地址, {projectname}:改为你自己的项目访问路径
// v2/api-docs: 固定不变
url = “http://localhost:8080/shiro/v2/api-docs“;
6、自定义Api接口页面
可以去下载swagger-editor
https://swagger.io/swagger-editor/
遇到的问题
问题1:访问时出现Failed to load spec,后来发现是index.html的url错误,没填写V2造成的
有问题可以留言。
阅读全文
0 0
- Swagger2与Spring mvc集成
- spring mvc 4.2 集成 swagger2
- Spring mvc Swagger2 API 集成记录
- Spring MVC中快速集成swagger2
- Spring Boot 集成Swagger2
- Spring Boot集成Swagger2
- spring boot集成swagger2
- Spring MVC 整合 Swagger2
- spring mvc 4 + swagger2
- spring-boot集成Springfox[Swagger2]
- DWR与Spring MVC 集成
- 13.玩转Spring Boot 集成swagger2
- Spring Boot中Swagger2的集成
- Swagger2 (1)到此一游集成spring boot
- Spring Boot教程六:集成swagger2
- 在 spring mvc 中使用 swagger2
- DWR3.0与Spring MVC集成方法
- Spring MVC 与ExtJS完美集成
- leetcode解题方案--064--Minimum Path Sum
- wget命令
- mac下使用brew安装mysql
- Excel在统计分析中的应用—第八章—假设检验-两总体方差的假设检验2(FTEST及F-检验宏)
- PJ的情书:纯模拟,桶排去重加上pair,用vector进行cmp重载
- Swagger2与Spring mvc集成
- windows和vmware共享文件夹
- synchronized详解
- leetcode解题方案--066--Plus One
- SeleniumIDE的安装、使用入门
- HTML5新特性2(拖放事件/历史管理/延时加载JS)
- 【关于基于物理染的阅读材料整理】READINGS ON PHYSICALLY BASED RENDERING
- 日常运维-6
- leetcode解题方案--067--Add Binary