1. 程式人生 > >Swagger2 匯出api文件(AsciiDocs、Markdown)

Swagger2 匯出api文件(AsciiDocs、Markdown)

1.引入pom(用阿里映象,否則jar下不下來)

嚴格按照我的版本號,否則jar包版本會出錯

<dependencies>
        <dependency>
        <groupId>io.github.swagger2markup</groupId>
        <artifactId>swagger2markup</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>ch.netzwerg</groupId>
        <artifactId>paleo-core</artifactId>
        <version>0.10.2</version>
    </dependency>
    <dependency>
        <groupId>io.vavr</groupId>
        <artifactId>vavr</artifactId>
        <version>0.9.2</version>
    </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
        </dependency>
    </dependencies>

2.編寫測試類

package com.jackie.test;

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;
import org.junit.Test;
import java.net.URL;
import java.nio.file.Paths;

/**
 * @author <a href="mailto:
[email protected]
">李智龍</a> * @since 2018/10/11 */ public class ExportSwagger { /** * 生成AsciiDocs格式文件 * @throws Exception */ @Test public void generateAsciiDocs() throws Exception { // 輸出Ascii格式 Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withMarkupLanguage(MarkupLanguage.ASCIIDOC) .withOutputLanguage(Language.ZH) .withPathsGroupedBy(GroupBy.TAGS) .withGeneratedExamples() .withoutInlineSchema() .build(); // swagger-ui.html頁面中能找到此連結 Swagger2MarkupConverter.from(new URL("http://localhost:8016/v2/api-docs")) .withConfig(config) .build() .toFolder(Paths.get("./docs/asciidoc/generated")); } /** * 生成Markdown格式文件 * @throws Exception */ @Test public void generateMarkdownDocs() throws Exception { // 輸出Markdown格式 Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withMarkupLanguage(MarkupLanguage.MARKDOWN) .withOutputLanguage(Language.ZH) .withPathsGroupedBy(GroupBy.TAGS) .withGeneratedExamples() .withoutInlineSchema() .build(); Swagger2MarkupConverter.from(new URL("http://47.244.30.85:8083/v2/api-docs")) .withConfig(config) .build() .toFolder(Paths.get("/Library/lizhilong/zhanrong/aboutproject")); } // /** // * 生成Confluence格式文件 // * @throws Exception // */ // @Test // public void generateConfluenceDocs() throws Exception { // // 輸出Confluence使用的格式 // Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() // .withMarkupLanguage(MarkupLanguage.CONFLUENCE_MARKUP) // .withOutputLanguage(Language.ZH) // .withPathsGroupedBy(GroupBy.TAGS) // .withGeneratedExamples() // .withoutInlineSchema() // .build(); // // Swagger2MarkupConverter.from(new URL("http://localhost:8016/v2/api-docs")) // .withConfig(config) // .build() // .toFolder(Paths.get("./docs/confluence/generated")); // } /** * 生成AsciiDocs格式文件,並彙總成一個檔案 * @throws Exception */ @Test public void generateAsciiDocsToFile() throws Exception { // 輸出Ascii到單檔案 Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withMarkupLanguage(MarkupLanguage.ASCIIDOC) .withOutputLanguage(Language.ZH) .withPathsGroupedBy(GroupBy.TAGS) .withGeneratedExamples() .withoutInlineSchema() .build(); Swagger2MarkupConverter.from(new URL("http://localhost:8016/v2/api-docs")) .withConfig(config) .build() .toFile(Paths.get("./docs/asciidoc/generated/all")); } /** * 生成Markdown格式文件,並彙總成一個檔案 * @throws Exception */ @Test public void generateMarkdownDocsToFile() throws Exception { // 輸出Markdown到單檔案 Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder() .withMarkupLanguage(MarkupLanguage.MARKDOWN) .withOutputLanguage(Language.ZH) .withPathsGroupedBy(GroupBy.TAGS) .withGeneratedExamples() .withoutInlineSchema() .build(); Swagger2MarkupConverter.from(new URL("http://47.244.30.85:8083/v2/api-docs")) .withConfig(config) .build() .toFile(Paths.get("/Library/lizhilong/zhanrong/aboutproject")); } }

相關推薦

Swagger2 匯出api(AsciiDocsMarkdown)

1.引入pom(用阿里映象,否則jar下不下來) 嚴格按照我的版本號,否則jar包版本會出錯 <dependencies> <dependency> <groupId>io.github.swagger2

白話SpringCloud | 第十一章:路由閘道器(Zuul):利用swagger2聚合API

前言 通過之前的兩篇文章,可以簡單的搭建一個路由網關了。而我們知道,現在都奉行前後端分離開發,前後端開發的溝通成本就增加了,所以一般上我們都是通過swagger進行api文件生成的。現在由於使用了統一路由網關了,都希望各微服務的api文件統一的聚合在閘道器服務中,也方便前端使用者查閱,不需要每個服務單獨檢視

第九篇: 用spring boot整合swagger2建立API

簡介: Swagger的目標是為REST APIs 定義一個標準的,與語言無關的介面,使人和計算機在看不到原始碼或者看不到文件或者不能通過網路流量檢測的情況下能發現和理解各種服務的功能。當服務通過Swagger定義,消費者就能與遠端的服務互動通過少量的實現邏輯。類似於低階程

Java基礎【Eclipse的使用】jar包的匯入匯出 註釋匯出幫助抽象類介面作為方法引數 不同修飾符混合使用細節

第14天面向物件 今日內容介紹  Eclipse常用快捷鍵操作  Eclipse文件註釋匯出幫助文件  Eclipse專案的jar包匯出與使用jar包  不同修飾符混合使用細節  辨析何時定義變數為成員變數  類、抽象類、介面作為方法引數  類、抽象類、介面作為

SpringBoot整合Swagger2生成Api

SpringBoot整合Swagger2一、新增Swagger2 pom依賴檔案1、此處為根目錄下pom依賴<properties>    <swagger.version>2.4.0</swagger.version>  </pro

SpringBoot開發詳解(八) -- 使用Swagger2構建API

API文件 文件在開發中的價值與作用: 作為一個開發人員,平時看得最多的恐怕就是各式各樣的文件了。並且在開發中我們也避免不了的需要自己去書寫文件,比如作為後臺開發人員,我們書寫最多的應該就是介面文件了。前端人員會按照我們給出的文件來進行前端開發,並且按照文件

整合Swagger2構建API

修改pom檔案,新增swagger2的相關依賴   <dependency>  &n

Spring Boot 2.X(十五):整合 Swagger2 開發 API (線上+離線)

前言 相信很多後端開發在專案中都會碰到要寫 api 文件,不管是給前端、移動端等提供更好的對接,還是以後為了以後交接方便,都會要求寫 api 文件。 而手寫 api 文件的話有諸多痛點: 文件更新的時候,需要再次傳送給對接人 介面太對,手寫文件很難管理 介面返回的結果不明確 不能直接線上測試介面,通常需要使

swagger2 匯出api為html和word

匯出為html https://cloud.tencent.com/developer/article/1332445 匯出為word https://www.cnblogs.com/jmcui/p/8298823.html https://github.com/JMCuixy/Sw

swagger2 離線 中心搭建 json swagger 自動生成api

最近找了一個自動生成api文件的工具swagger,相對swaggerEdit就不說了。個人比較懶,還是自動生成來的便捷,尤其是老專案,新專案在初期可能會維護,但是到了後期就很難保證了。所以,那些需要一些特殊配置說明的文件工具就不提了。 這篇文章主要是在swagger2 swagger UI的基

Swagger2構建強大的RESTful API實戰

一 點睛 RESTful API的重磅好夥伴Swagger2,它可以輕鬆的整合到Spring Boot中,並與Spring MVC程式配合組織出強大RESTful API文件。它既可以減少我們建立文件的工作量,同時說明內容又整合入實現程式碼中,讓維護文件和修改程式碼整合為一體,可以

Spring boot 整合 swagger生成api(轉換成markdown格式)

spring boot 整合 swagger 步驟 1. 匯入jar包 2. 新增配置類 3. 新增介面類 3. 啟動伺服器 4. 訪問UI頁面,可線上測試介面 5. 匯出swagger原始檔 6. 轉換成markdown格式檔案 1,匯入jar包 gradl

第六篇:Spring Boot整合Swagger2構建RESTful API

由於Spring Boot有快速開發、便捷部署等特性,所以很大一部分Spring Boot的使用者會用來構建RESTfulAPI。而我們構建RESTfulAPI的目的通常都是由於多終端的原因,這些終端會共用很多底層業務邏輯,因此我們會抽象出這樣一層來同時服務於多個移動端或者Web前端。

Java小技巧自動生成註釋api

cmd 命令 javadoc的使用 win+R彈出執行視窗 輸入cmd回車,進入dos介面,輸入java -version,檢查java是否配置好。如下圖所示 配置好java後,我們新建一個含有公共類的java檔案,在裡面寫點東西。 然後儲存到資料夾test裡面

《深入理解Spring Cloud與微服務構建》學習筆記(七)~SpringBoot 整合 Swagger2,搭建線上api

一、在專案 pom.xml 引入 swagger 依賴 springfox-swagger2 和 springfox-swagger-ui 如: <dependency> <groupId>io.springfox</groupId>

Spring boot 使用Swagger2構建RESTful API

前言 SwaggerUI可以說是一個非常好用的API文件工具,是前後端分離開發模式下的必備工具、具體實現及部分乾貨知識如下 匯入依賴 <!-- RESTful APIs swagger2 --> <dependency> <

SpringBoot整合swagger2,生成API

1、新增依賴 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency>

使用Swagger2Markup實現API的靜態部署(二):Markdown和Confluence

在上一篇《使用Swagger2Markup實現API文件的靜態部署(一):AsciiDoc》中,我們介紹瞭如何使用 Swagger2Markup將Swagger文件轉換成AsciiDoc,再將AsciiDoc轉換成靜態HTML。下面,本文將繼續介紹Swagger2Ma

springmvc中搭建swagger,並利用swagger json生成markdown和html api

背景 服務端開發同學需要花很多時間編寫和維護大量的Rest介面文件,且往往介面修改後沒有及時同步文件,讓對接方和後續維護者一頭霧水。 有沒有一種方式可以相對容易地生成可讀性好的Rest文件,並且做到與程式碼同步? 目標 通過Swagger註釋自動生成Rest文件介面。 通過Sw

SpringBoot(二十)Swagger2-自動生成RESTful規範API

  Swagger2 方式,一定會讓你有不一樣的開發體驗:功能豐富 :支援多種註解,自動生成介面文件介面,支援在介面測試API介面功能;及時更新 :開發過程中花一點寫註釋的時間,就可以及時的更新API文件,省心省力;整合簡單 :通過新增pom依賴和簡單配置,內嵌於應用中就可同時釋