swagger2markup基于swagger.json生成文档asciidoc、markdown、confluence

本示例展示的前提是已经生成swagger.json

1、jar包依赖:


  io.github.swagger2markup
  swagger2markup
  1.1.0

2、代码展示:

/**
 * 生成AsciiDocs格式文档
 * @throws Exception
 */
public static void generateAsciiDocs(String swaggerJsonUrl,String filePath) throws Exception {
    //    输出Ascii格式
    Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
            .withMarkupLanguage(MarkupLanguage.ASCIIDOC)//设置生成格式
            .withOutputLanguage(Language.EN)//设置语言英文,中文可能是乱码
            .withPathsGroupedBy(GroupBy.TAGS)
            .withGeneratedExamples()
            .withoutInlineSchema()
            .build();
    //设置swagger-api的json来源
    Swagger2MarkupConverter.from(new URL(swaggerJsonUrl))
            .withConfig(config)
            .build()
            .toFile(Paths.get(filePath));//设置生成文件的路径
}

/**
 * 生成Markdown格式文档
 * @throws Exception
 */
public static void generateMarkdownDocs(String swaggerJsonUrl,String filePath) throws Exception {
    //    输出Markdown格式
    Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
            .withMarkupLanguage(MarkupLanguage.MARKDOWN)
            .withOutputLanguage(Language.EN)
            .withPathsGroupedBy(GroupBy.TAGS)
            .withGeneratedExamples()
            .withoutInlineSchema()
            .build();

    Swagger2MarkupConverter.from(new URL(swaggerJsonUrl))
            .withConfig(config)
            .build()
            .toFile(Paths.get(filePath));
}
/**
 * 生成Confluence格式文档
 * @throws Exception
 */
public static void generateConfluenceDocs(String swaggerJsonUrl,String filePath) throws Exception {
    //    输出Confluence使用的格式
    Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
            .withMarkupLanguage(MarkupLanguage.CONFLUENCE_MARKUP)
            .withOutputLanguage(Language.EN)
            .withPathsGroupedBy(GroupBy.TAGS)
            .withGeneratedExamples()
            .withoutInlineSchema()
            .build();

    Swagger2MarkupConverter.from(new URL(swaggerJsonUrl))
            .withConfig(config)
            .build()
            .toFile(Paths.get(filePath));
}

如果要生成PDF或html需要asciidoctor-maven-plugin插件。

3、生成html


	org.asciidoctor
	asciidoctor-maven-plugin
	1.5.6
	
		
		${output.filepath}
		
		${html.output.filepath}
		html
		coderay
		
		
			book
			left
			3
		
	


其中:
	docs/asciidoc/doc
	docs/asciidoc/html

你可能感兴趣的:(基础工具)