使用插件将swagger文档转html或pdf
要使用插件将Swagger文档转换为HTML或PDF,你可以使用swagger2markup
工具。以下是如何将Swagger文档转换为HTML和PDF的步骤和示例代码:
- 首先,确保你有一个Swagger定义文件,通常是一个JSON文件,可以是URL或本地路径。
- 使用
swagger2markup
工具生成HTML或PDF。你需要下载并添加swagger2markup
和asciidoctor
的依赖到你的项目中。
以下是Maven的pom.xml
中的依赖示例:
<dependencies>
<dependency>
<groupId>io.github.swagger2markup</groupId>
<artifactId>swagger2markup</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj</artifactId>
<version>2.4.3</version>
</dependency>
</dependencies>
- 使用以下Java代码生成HTML或PDF:
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;
import java.net.URL;
public class SwaggerToHtmlPdfExample {
public static void main(String[] args) throws Exception {
// 定义Swagger文档的URL
URL swaggerUrl = new URL("http://your-swagger-definition-url/v2/api-docs");
// 设置输出路径
String outputPath = "src/docs/asciidoc/generated";
// 设置配置
Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
.withMarkupLanguage(MarkupLanguage.ASCIIDOC)
.withOutputLanguage(Language.EN)
.withPathsGroupedBy(GroupBy.TAGS)
.withGeneratedExamples()
.withoutInlineSchema()
.build();
// 转换Swagger文档到HTML
Swagger2MarkupConverter.from(swaggerUrl)
.withConfig(config)
.build()
.toFolder(outputPath);
// 转换Swagger文档到PDF
Swagger2MarkupConverter.from(swaggerUrl)
.withConfig(config)
.build()
.toPDF(outputPath + "/swagger.pdf");
}
}
确保替换http://your-swagger-definition-url/v2/api-docs
为你的实际Swagger定义URL。
以上代码会生成AsciiDoc格式的文件,然后你可以使用AsciiDoc工具链将其转换为HTML或PDF。
生成HTML:
asciidoctor -r asciidoctor-diagram -a toc=left -d book src/docs/asciidoc/generated/swagger.adoc
生成PDF:
asciidoctor-pdf -r asciidoctor-diagram -d book src/docs/asciidoc/generated/swagger.adoc -o src/docs/asciidoc/generated/swagger.pdf
请确保你有AsciiDoctor和AsciiDoctor P
评论已关闭