您的位置:首页 > 编程语言 > Java开发

Spring MVC 整合Swagger的一些问题总结

2017-12-20 14:37 176 查看
在做Spring MVC 整合swagger的时候,遇到的两个问题:第一个问题在网上找了一些Spring MVC 和Swagger的例子,照着一步步的配置,结果,到最后,项目都起来了,没有任何问题,但是就是没有出现网上的效果,没有出现Controller里写的那些API说明,效果是这样的:原因:在Spring的配置文件中,对包管理的配置是这样写的:
1 <context:component-scan base-package="com.koonet.qxtn" use-default-filters="true">
2   <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
3</context:component-scan>
也就是说,这里声明了Spring来管理指定包里的注解,但是呢,Spring不认Swagger的注解,所以,才导致出现上面的情况。解决:将指定Spring管理注解的去掉,直接写成这样:
1 <context:component-scan base-package="com.koonet.qxtn"/>
这样的话,swagger的注解也能被引入的swagger相关类识别,最终完成一系类操作,展现出我们想要的。(这里只是我的推测)第二个问题项目配置没有问题,启动不报错,但是页面显示的是Can't read swagger JSON from http://localhost:8080/swagger/api-docs
字面意思好理解,就是无法读取swagger的json数据,那么为什么会这样呢?修改swagger的index.html里的
url = "http://petstore.swagger.io/v2/swagger.json";

是修改成
url = "http://{ip}:{port}/{projectName}/api-docs";

但是呢,使用IDEA部署的项目是没有项目名的,也就是说,在本地部署的话,直接写成
url = "http://localhost:8080/api-docs";

就没有问题了。这是我在学习使用swagger时,遇到的两个问题,这里做一个记录。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: