一、簡介
Swagger2Markup是一個開源的Java工具,它可以將Swagger YAML或JSON文檔轉換成幾種可讀性高的文檔格式,如Asciidoc、Markdown和Confluence Markup。這個工具非常有用,可以方便團隊協作,也可以作為後端技術文檔的一部分,同時也是一個不錯的自我學習的機會。
二、使用Swagger2Markup
在這個部分,我們會介紹如何使用Swagger2Markup。以下是一個簡單的使用例子。
apply plugin: 'io.github.swagger2markup'
dependencies {
swagger2markup(group: 'io.github.swagger2markup', name: 'swagger2markup', version: '1.3.1')
}
swagger2markup {
source {
files = ['swagger.yaml']
}
targetDir = 'docs/asciidoc/generated'
config {
language = 'zh'
}
}
在這個例子中,我們先需要引入Swagger2Markup的Gradle插件。接著,我們指定了Swagger文檔的文件名,並指定了輸出文件的目錄和目標文件格式,同時也可以進行配置,如更改語言為中文等。
三、Swagger2Markup的功能
1. Swagger2Markup的三個主要模塊
Swagger2Markup由以下三個主要的模塊構成:
SwaggerParser 讀取Swagger文檔,生成Swagger對象,這個對象包含了文檔中的信息。
MarkupConverterBuilder 將Swagger對象轉換成指定的格式的文檔。
ConfluenceWriter 將Markdown或Asciidoc等格式的文檔轉換成Confluence格式。
2. 生成帶編號的API文檔
Swagger2Markup可以自動生成帶編號的API文檔,使得文檔更加整潔易讀。
include * -> .*
numberedHeadings = true
這個例子中,我們使用了include
參數,使生成的文檔包含所有的Swagger文件。numberedHeadings
參數可以對API文檔中的標題進行編號顯示,使得文檔更易於閱讀。
3. 生成典型請求和響應模式文檔
Swagger2Markup可以自動生成典型請求和響應模式文檔,方便用戶更加了解後端API服務的介面數據格式。
includeRequestFields = true
includeResponseFields = true
generatedExamplesEnabled = true
在這個示例中,我們使用了includeRequestFields
和includeResponseFields
參數來指定文檔中是否包含請求和響應的例子。同時,我們還使用了generatedExamplesEnabled
參數來生成真實示例作為文檔的一部分。
4. 生成Spring REST Docs文檔
Spring REST Docs是一個很不錯的文檔生成工具,它可以把測試結果自動轉換成文檔,以生成完整的API文檔。
springRestDocs {
operatingSystem = 'UNIX'
snippets {
requestHeaders {
autoDependencies = true
}
pathParameters {
autoDependencies = true
}
}
}
在這個例子中,我們通過operatingSystem
參數指定了操作系統為UNIX類型,接著設置requestHeaders
和pathParameters
等參數,實現了自動生成Spring REST Docs文檔。
5. 生成Confluence Wiki文檔
Swagger2Markup還提供了生成Confluence Wiki文檔的功能。使用這個功能可以方便團隊協作、文檔編寫和發布。
confluence {
baseUri = 'http://your-confluence.com'
spaceKey = 'your-space-key'
parentPageTitle = 'Swagger API Documentation'
username = 'your-username'
password = 'your-password'
nextPageVersion = '8'
client {
connectionTimeout = 2000
socketTimeout = 3000
}
}
在這個例子中,我們通過baseUri
參數指定了Confluence服務的URL,設置了訪問用戶名和密碼,指定了目標Confluence空間的名稱,以及正在編寫的頁面的父頁面。
小結
Swagger2Markup是一個非常有用的Java工具,可以將Swagger文檔轉換成多種可讀性高的文檔格式。我們介紹了Swagger2Markup的使用方法和功能,並舉了一些例子來幫助大家更好的了解和應用Swagger2Markup。在日常開發中,這個工具非常有用,可以方便團隊協作,提高文檔編寫的效率,也是一個不錯的自我學習的機會。
原創文章,作者:BRDA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135863.html