SpringMVC项目接入Springfox实战遇到的问题集合
为了方便的管理项目中API接口,目前总是会写好接口后,然后又要去维护一个文档,这对于开发者来说太心累了,
在网上找了好多关于API接口管理和生成文档的资料,一次偶然跟51的大神交流发现了Swagger这个工具,功能强大,UI界面漂亮,并且支持在线测试等等,
对于这块的使用网上已经有很多教程,我这里用的跟网上的那些不太一样,部署好后遇到的问题的解决方式也不一样,
这里只谈要注意的地方和问题
先上今天直接摸索出来的效果图:

详细的请求api接口如下图


这里我只是测试,用api配置了一个接口。然后Swagger自动生成出来了,包括以往的接口名都生成出来了,只是要参数详细还得详细配置,这段代码是我参照网上的直接copy过来
@RequestMapping(value="/1.0/contact/update.do/{id}",method=RequestMethod.POST)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "更新成功", response = Contact.class),
@ApiResponse(code = 404, message = "Not Found"),
@ApiResponse(code = 500, message = "内部报错")}
)
public void update(@ApiParam(name="id", value="编号", required=true)@PathVariable Integer id,@RequestBody Contact contact) {
contact.setId(id);;
contactService.update(contact);
}
我这里不详细介绍了,
想了解的直接http://blog.csdn.net/zth1002/article/details/46927187
首先引入这些包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.4</version>
</dependency> <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency> <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency> <dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.3</version>
</dependency> <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-staticdocs</artifactId>
<version>2.2.2</version>
<scope>test</scope>
</dependency> 这些pom包里面包括ui静态资源,引入后就不用去git下载ui静态资源了 第二需要注意的,就是写一个SwaggerConfig ,然后加上注解配置开启如图
如不会看这里http://blog.csdn.net/zth1002/article/details/46927187
这里的配置好弄,支持正则匹配。如果你觉得太复杂,就直接像我这样配置就可以了,appinfo里面可以配置文档的各种属性。 第三个需要注意的。是SwaggerConfigUi资源里面对mvc-controller的访问是直接这样 /swagger-resources ,
这对于我们设定了指定后缀的mvc-action 来说,就识别不到了,web系统会报404错误,也就是说UI资源里面的html对动态action的请求是不带后缀的
除了这个/swagger-resources,还有一个apidoc 也是请求的一个controller,但是没带后缀系统找不到
那这里再给它在web。xml里面配置url映射。请求 http://localhost:8080//swagger-ui.html#/ 可以直接访问了
当然也可以后面给它加上权限
SpringMVC项目接入Springfox实战遇到的问题集合的更多相关文章
- 传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案
		
技术架构在向spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项 ...
 - Maven + SpringMVC项目集成Swagger
		
Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服 ...
 - 【转】Nutz | Nutz项目整合Spring实战
		
http://blog.csdn.net/evan_leung/article/details/54767143 Nutz项目整合Spring实战 前言 Github地址 背景 实现步骤 加入spri ...
 - (转)Nutz | Nutz项目整合Spring实战
		
http://blog.csdn.net/evan_leung/article/details/54767143 Nutz项目整合Spring实战 前言 Github地址 背景 实现步骤 加入spri ...
 - 传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案--temp
		
技术架构在向spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项 ...
 - Nutz | Nutz项目整合Spring实战
		
Nutz项目整合Spring实战 前言 Github地址 背景 实现步骤 加入springMvc与Spring 相关配置 新增Spring相关配置 新增SpringIocProvider 重写Nutz ...
 - 零配置简单搭建SpringMVC 项目
		
SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...
 - maven -- 学习笔记(四)实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)
		
Learn from:http://www.cnblogs.com/fangjins/archive/2012/05/06/2485459.html,感谢楼主的分享,才有下面的这篇学习小结 一.环境准 ...
 - 项目搭建系列之一:使用Maven搭建SpringMVC项目
		
约定电脑都安装了eclipse,且已配置好Maven以及eclipse插件. 1.Eclipse 2.maven 3.Eclipse 需要安装maven插件.url:maven - http://do ...
 
随机推荐
- mysqli_fetch_assoc与mysqli_result::fetch_assoc区别
			
mysqli_fetch_assoc与mysqli_result::fetch_assoc区别
 - python【第二十一篇】Django模板继承、分页、cookie验证
			
1.模板继承 母版master.html {% block title %}{% endblock %}2 {% block table-cont %}{% endblock %} 子板 {% ext ...
 - 第 1 章 策略模式【Strategy Pattern】
			
第 1 章 策略模式[Strategy Pattern] 以下内容出自: 24种设计模式介绍与6大设计原则.pdf 刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手 ...
 - Android之TextView组件学习
			
一.基础学习 1.findViewById返回View类,该类是所有View组件的父类. 2.子类比父类拥有更多的属性和方法,不过子类找不到的话去父类找 3.marquee:华盖,跑马灯效果:orie ...
 - Penetration test
			
Contents 1 History 2 Standards and certification 3 Tools 3.1 Specialized OS distributions 3.2 Softwa ...
 - Android java程序获取assets资产文件
			
AssetManager assetManager=this.getAssets(); inputStream = assetManager.open("test.xml");
 - 【LA 5713 】 Qin Shi Huang's National Road System (MST)
			
[题意] 秦始皇要在n个城市之间修路,而徐福声可以用法术位秦始皇免费修1条路,每个城市还有人口数,现要求徐福声所修之路的两城市的人口数之和A尽量大,而使n个城市互通需要修的路长B尽量短,从而使得A/B ...
 - 自定义滚轮效果选择器spinnerwheel的使用总结
			
项目中有使用到像IOS滚轮效果的选择时间或数字的组件:android-spinnerwheel github地址:https://github.com/ai212983/android-spinner ...
 - insert into select * from 锁表
			
mysql[192.168.11.187] processid[249] root@localhost in db[zjzc] hold transaction time 197 112069858, ...
 - bzoj2333
			
好题,先离线把连通块变成连续的区间每次连通块合并就相当于两个区间合并这样就轻易的用线段树解决了 type node=record wh:string[]; x,y:longint; end; ..*] ...
 
			
		
请求 http://localhost:8080//swagger-ui.html#/  可以直接访问了