网上有很多整合swagger的文档说明,也有通过zuul网关整合swagger汇总各个服务的swagger的文档介绍及实现,代码实现大同小异都没问题,但是如果你是springboot2,那就可能有点问题了.
我遇到了一个swagger依赖包版本造成的问题。
当我依赖2.6.1的swagger时:
<!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>
请求下swagger-ui.html
切换到“feign-client”服务中,用一下try out ,响应404
(中间对比了是否有遗漏什么配置啥的,都没有,花了些时间做各种排除法,最后在不经意间发现了这个)
我的“base url”居然只是个"\";
那404就说得通了,因为没有映射到配置的“path”,导致了404
那么是什么原因呢?
找了许久,没找到,只能猜,是不是依赖的swagger版本不适用?(有机会探寻一波源码)
maven搜了下现在swagger都到多少了?https://mvnrepository.com/artifact/io.springfox/springfox-swagger2
索性换了“2.7.0”依赖一下,(我发现2.9.0没法打注解:@EnableSwagger2)
<!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
启动zuul和相应服务,再次打开swagger-ui.html
终于有"base url"了,立马去试试try out
一起正常,搞定!