用Swagger2markup导出接口文档

前言

最近公司正好需要整理接口文档,就想把Swagger2的文档导出来。

开始配置

pom.xml

<dependency>
    <groupId>io.github.swagger2markup</groupId>
    <artifactId>swagger2markup</artifactId>
    <version>1.3.3</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>

使用单元测试生成文档

package com.asiainfo.aigov;

import java.net.URL;
import java.nio.file.Paths;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import io.github.swagger2markup.GroupBy;
import io.github.swagger2markup.Language;
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
public class Swagger2Test {

    @Test
    public void generateAsciiDocs() throws Exception {
        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                .withMarkupLanguage(MarkupLanguage.MARKDOWN)
                .withOutputLanguage(Language.ZH)
                .withPathsGroupedBy(GroupBy.TAGS)
                .withoutInlineSchema()
                .build();
        Swagger2MarkupConverter.from(new URL("http://localhost:8080/familydoctor-webapp/v2/api-docs"))
                .withConfig(config)
                .build()
//                .toFolder(Paths.get("./docs"));
                .toFile(Paths.get("./docs/api"));
    }
    
}

结后语

生成的文档是md格式,可以放到有道云笔记里,再导出为pdf或html,也可以用pandoc转成word。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,270评论 25 708
  • 今天周日我又开始折腾我的blog项目了,项目是使用django,并部署在亚马逊EC2上,系统为ubuntu16.0...
    字节码阅读 7,941评论 1 1
  • 荀子:君子乐得其道,小人乐得其欲。以道制欲,则乐而不乱;以欲忘道,则惑而不乐。 近期意志不坚定,常常会有悔过之事发...
    行之1984阅读 162评论 0 0
  • 学生不积极,成绩上不去,除了学生自身的原因之外,我也该好好想想自己的问题。
    减肥的女孩阅读 195评论 0 1