扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
swagger2有一个web前端ui界面,可以清楚的看到所有被swagger2扫描到的接口列表,源码在github上:swagger-ui
网站的建设创新互联建站专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为发电机租赁等企业提供专业服务。这个版本不是最新版,但是带有搜索功能,这是在最新版里没有的。
项目×××之后,解压,把dist文件夹下的所有的东西放到项目中静态目录下,目录文件夹名称假设是swagger,修改index.html文件里的js代码,源码里的js访问doc路径修改成自己项目的访问路径:
url = "/xxx/v2/api-docs";
xxx的部分就是web项目名称,根据实际情况修改
这个v2/api-docs路径是swagger2接口文档的json数据访问地址,这个地址返回的项目中所有接口说明的json格式字符串,这个index.html中的js代码就解析这个json数据再渲染出来
项目需要依赖两个包:
io.springfox
springfox-swagger2
${swagger2.version}
io.springfox
springfox-swagger-ui
${swagger-ui.version}
2.7.0
2.7.0
创建swagger2配置类:
@Configuration // 让Spring来加载该类配置
@EnableSwagger2 // 启用Swagger2
@EnableWebMvc
public class Swagger2Config {
static final Logger log = LoggerFactory.getLogger(Swagger2Config.class);
@Bean
public Docket createRestApi() {
log.info("开始加载Swagger2...");
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
// 扫描指定包中的swagger注解
.apis(RequestHandlerSelectors.basePackage("com.xxx.xxx.controller"))
// 扫描所有有注解的api,用这种方式更灵活
// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("Api Documentation").description("xxx系统API接口文档").version("1.0.0").build();
}
}
到此配置文件,启动项目,访问地址:http://ip:port/项目名称/swagger/index.html进入swagger-ui界面,进入后可以看到正在获取数据,那是解析数据的过程,稍等一会就会显示出接口列表。
这个接口的json数据来源地址中的域名(也就是ip:port)这个部分是swagger2获取的web项目启动的tomcat的域名,有的环境下是会被nginx代理,真正的web服务器域名是不能直接访问的,这个时候需要添加-Dspringfox.documentation.swagger.v2.host=xxx环境变量,配置nginx的域名,这样就能正常经过nginx走代理路径。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流