项目概述
本项目旨在提供一种便捷的工具,将 Swagger API 文档转换为 Word 文档,方便开发人员和团队进行文档管理和分享。通过简单的配置和操作,用户可以快速生成包含 API 接口信息、请求参数、返回参数等内容的 Word 文档。
技术架构
本项目基于 Java 开发,采用 Spring Boot 框架构建后端服务,并使用 Swagger 进行 API 文档的生成和管理。主要技术栈包括:
-
Spring Boot:简化配置和管理,快速构建后端服务。
-
Swagger:用于生成和展示 API 文档。
-
Thymeleaf:用于模板渲染,生成 Word 文档内容。
-
Apache HttpClient:用于处理 HTTP 请求,获取 Swagger JSON 数据。
-
Jackson:用于 JSON 数据的解析和处理。
功能模块
配置模块
-
RestTemplate 配置:配置
RestTemplate
,用于发送 HTTP 请求获取 Swagger JSON 数据。通过自定义SSLConnectionSocketFactory
,支持 HTTPS 请求,并忽略证书验证。具体实现如下:
java复制
@Bean
public RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException {TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build();HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();requestFactory.setHttpClient(httpClient);requestFactory.setConnectTimeout(60 * 1000);requestFactory.setReadTimeout(60 * 1000);RestTemplate restTemplate = new RestTemplate(requestFactory);restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));return restTemplate;
}
-
Swagger 配置:配置 Swagger 文档的基本信息,如标题、描述、版本等,并指定 API 的扫描包路径。具体实现如下:
java复制
@Bean
publi