网上全部只有metacat的介绍,没有具体的安装方式
https://github.com/Netflix/metacat.git 源码下载
下载后9.4.1改成8.8.1
gorylenko 插件注释掉
polaris报错的话可以删除整个模块
functionalTest 注释掉
gradlew clean build -x test 编译成功
部署会报错swagger3的bug
第一种解决方案:
配置文件application.yml 里面测试的时候需要页面的时候需要
springfox:
documentation:
open-api:
v3:
path: /test/v2/api-docs(包名:一个test(完全不要这个配置 swagger),一个ROOT(要配置),同时放2个war上去一起启动,这是一个BUG)
swagger:
enabled: true
plugin:
config:
location: 读取采集的配置文件
javax.jdo.option.name=mysql-56-db 这个才是数据源编号
connector.name=mysql 这个是数据源类型
这样可以正常启动,有2个war包,
第二种解决方式
找到SwaggerConfig 类,注释掉@ConditionalOnProperty 这个注解
把配置文件build.gradle 文件中的mavenCentral() 换成jcenter()
dependencySet(group: “io.swagger”, version: “1.6.2”) {
entry “swagger-annotations”
entry “swagger-jersey2-jaxrs”
entry “swagger-models” (新增)
}
第三种不需要页面
注释掉swagger 框架,直接启动main方法,接口可调用验证,不需要页面
@ConditionalOnProperty 注解详情
用来指定配置文件是否生效
例子:我们开发环境中希望使用swagger来生成api在线文档,但是在生产环境中则希望能够禁用swagger功能,这时@ConditionalOnProperty就排上用场了。
在SwaggerConfig中配置ConditionalOnProperty,然后在配置文件application.properties中配置swagger.config.enabled即可灵活控制swagger的开启和关闭。具体代码如下:
// 文件: SwaggerConfig.java
@Configuration
@EnableSwagger2
@ConditionalOnProperty(prefix = "swagger.config", value = "enabled", havingValue = "true") //只有当配置文件配置了swagger.config.enabled=true时,swagger才生效
public class SwaggerConfig {
...//省略具体配置项
}
其他
# 文件:application.properties
swagger.config.enabled=true