Spring4 mvc构建restful webservice应用使用swagger生成在线文档
本文接上一篇已实现spring构建restful webservice应用,本篇代码在上一篇的基础上完成,最后同样给出demo代码。
- 2、在pom.xml中添加swagger及相关依赖,如下
- 3、编写一个swagger配置类,SwaggerConfig.java内容如下(注意目录结构src/main/java/com/hode/swagger/SwaggerConfig.java)
- 4、UserRestController修改如下,增加@ApiOperation及@ApiParam注解
- 5、在applicationContext-mvc.xml文件中添加如下配置
- 6、由于swagger的限制,需先将web.xml中配置的.rest改为/,结果如下(注:由于本人参与的项目restful接口后缀为.rest,如果全部去掉.rest涉及比较多所以考虑修改swagger源码,文章尾部介绍)
- 7、下载swagger ui,下载地址https://github.com/swagger-api/swagger-ui,下载后将dist改为swagger并拷贝到webapp目录下,修改webapp/swagger/index.html
使用http://localhost/swagger/index.html即可以看到结果,可以Parameters中的value输入”hode”查看结果。截图如下
,点击try it out可模拟请求。
到此简单使用结束,Demo代码下载
- 9、由于本人参与的项目restful接口均为.rest后缀,不能直接使用swagger,官网也未找到对应的修改参数,所以动手调整下源码,以便不修改原项目代码。
将web.xml中改回.rest,表示.rest后缀的请求才由mvc拦截,如下
删除applicationContext-mvc.xml配置文件中添加的行
修改webapp/swagger/index.html
基本内容已修改完,再修改webapp/swagger/swagger-ui.js
查找 SwaggerSpecConverter.prototype.getAbsolutePath,修改此方法,在var location = docLocation;定义行前添加判断逻辑,
查找Operation.prototype.urlify,在此方法的 return url + requestUrl + querystring; 前添加如下
赞赏(Donation)
微信(Wechat Pay)