亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Golang使用Swag搭建api文檔的全過程

 更新時間:2024年02月28日 10:40:33   作者:蜀中攻城獅  
Gin是Golang目前最為常用的Web框架之一,公司項目驗收需要API接口設計說明書(Golang后端服務基于Gin框架編寫),所以本文給大家介紹了Golang使用Swag搭建api文檔的全過程,需要的朋友可以參考下

1. 簡介

GinGolang目前最為常用的Web框架之一。
公司項目驗收需要API接口設計說明書(Golang后端服務基于Gin框架編寫),編寫任務自然就落到了我們研發(fā)人員身上。
項目經(jīng)理提供了文檔模板,讓我們參考模板來手動編寫,要求兩天內(nèi)完成,時間緊任務重。

看了下文檔中API接口設計內(nèi)容,很簡單,但是接口數(shù)量太多還需要調(diào)整文檔格式,手動編寫兩天肯定搞不定。
發(fā)現(xiàn)API接口設計內(nèi)容和swagger文檔格式很相近,那能不能使用工具生成swagger文檔后再轉換為word格式呢?

和項目經(jīng)理溝通了我的想法,項目經(jīng)理回答說,內(nèi)容豐富、格式統(tǒng)一就行,不要求完全參考模板中的格式來。
既然這樣,那就開干吧!

2. 生成swagger.json文檔

本章節(jié)僅為演示操作步驟,編寫得很簡潔。

2.1. 安裝swag

首先需要安裝swag命令行工具:go install github.com/swaggo/swag/cmd/swag@latest。

2.2. 新建示例項目

比如新建swagdoc項目:go mod init swagedoc。

2.3. 新建main.go文件并輸入示例代碼

package main

import (
    "net/http"

    "swagdoc/docs"

    "github.com/gin-gonic/gin"
    swaggerfiles "github.com/swaggo/files"
    ginSwagger "github.com/swaggo/gin-swagger"
)

// @BasePath /api/v1

// PingExample godoc
// @Summary ping example
// @Schemes
// @Description do ping
// @Tags example
// @Accept json
// @Produce json
// @Success 200 {string} Helloworld
// @Router /example/helloworld [get]
func Helloworld(g *gin.Context) {
    g.JSON(http.StatusOK, "helloworld")
}

func main() {
    r := gin.Default()
    docs.SwaggerInfo.BasePath = "/api/v1"
    v1 := r.Group("/api/v1")
    {
        eg := v1.Group("/example")
        {
            eg.GET("/helloworld", Helloworld)
        }
    }
    r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))
    r.Run(":8080")
}

2.4. 生成swagger.json文檔

執(zhí)行命令swagger init命令生成swagger.json文檔。文件目錄結構如下圖所示:

示例項目文件目錄結構

2.5. 訪問api文檔

執(zhí)行下列命令運行示例程序:

go mod tidy
go run ./main.go

在瀏覽器中訪問api文檔 :

在這里插入圖片描述

可以通過瀏覽器直接訪問api:

在這里插入圖片描述

在這里插入圖片描述

3. 常見問題

3.1. Error parsing type definition報錯如何解決?

若出現(xiàn)解析類型定義的錯誤,需要在執(zhí)行swage init時加上對應的選項:

在這里插入圖片描述

例如:swag init --parseDependency --parseInternal

3.2. 如何編寫api注釋?

參考 聲明式注釋格式。

4. 將swagger.json文檔轉換為word文檔

可以使用 swagger轉word文檔在線工具 來進行轉換。

如果在線工具不能使用,可以自行參考網(wǎng)上教程在本地搭建轉換工具來進行轉換,就不在此贅述了。

轉換后的word文檔效果圖如下所示:

在這里插入圖片描述

5. 參考資料

如何使用Swag將Go的注釋轉換為Swagger文檔?

源碼示例

以上就是Golang使用Swag搭建api文檔的全過程的詳細內(nèi)容,更多關于Golang Swag搭建api文檔的資料請關注腳本之家其它相關文章!

相關文章

  • golang實現(xiàn)通過smtp發(fā)送電子郵件的方法

    golang實現(xiàn)通過smtp發(fā)送電子郵件的方法

    這篇文章主要介紹了golang實現(xiàn)通過smtp發(fā)送電子郵件的方法,實例分析了Go語言基于SMTP協(xié)議發(fā)送郵件的相關技巧,需要的朋友可以參考下
    2016-07-07
  • 使用go語言實現(xiàn)Redis持久化的示例代碼

    使用go語言實現(xiàn)Redis持久化的示例代碼

    redis 是一個內(nèi)存數(shù)據(jù)庫,如果你把進程殺掉,那么里面存儲的數(shù)據(jù)都會消失,那么這篇文章就是來解決 redis 持久化的問題,本文給大家介紹了使用go語言實現(xiàn)Redis持久化,需要的朋友可以參考下
    2024-07-07
  • Go語言中基本數(shù)據(jù)類型的相互轉換詳解

    Go語言中基本數(shù)據(jù)類型的相互轉換詳解

    Go在不同類型的變量之間賦值時需要顯示轉換,不能自動轉換。這篇文章主要和大家介紹了Go語言中基本數(shù)據(jù)類型的相互轉換,感興趣的小伙伴可以了解一下
    2022-10-10
  • 詳解如何使用Go語言進行文件監(jiān)控和通知

    詳解如何使用Go語言進行文件監(jiān)控和通知

    在Go語言中,文件監(jiān)控通常涉及到文件系統(tǒng)事件的監(jiān)聽,文件或目錄的狀態(tài)發(fā)生變化(如創(chuàng)建、刪除、修改等)時,你的程序需要得到通知,所以本文給大家介紹了如何使用Go語言進行文件監(jiān)控和通知,需要的朋友可以參考下
    2024-06-06
  • Air實現(xiàn)Go程序實時熱重載使用過程解析示例

    Air實現(xiàn)Go程序實時熱重載使用過程解析示例

    這篇文章主要為大家介紹了Air實現(xiàn)Go程序實時熱重載使用過程解析示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • GO如何模擬流操作實現(xiàn)示例探究

    GO如何模擬流操作實現(xiàn)示例探究

    這篇文章主要為大家介紹了GO如何模擬流操作實現(xiàn)示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 7分鐘讀懂Go的臨時對象池pool以及其應用場景

    7分鐘讀懂Go的臨時對象池pool以及其應用場景

    這篇文章主要給大家介紹了關于如何通過7分鐘讀懂Go的臨時對象池pool以及其應用場景的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或使用Go具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2018-11-11
  • Golang標準庫之errors包應用方式

    Golang標準庫之errors包應用方式

    Go語言的errors包提供了基礎的錯誤處理能力,允許通過errors.New創(chuàng)建自定義error對象,error在Go中是一個接口,通過實現(xiàn)Error方法來定義錯誤文本,對錯誤的比較通常基于對象地址,而非文本內(nèi)容,因此即使兩個錯誤文本相同
    2024-10-10
  • 用gin開發(fā)的golang項目三種開發(fā)模式方式

    用gin開發(fā)的golang項目三種開發(fā)模式方式

    這篇文章主要介紹了用gin開發(fā)的golang項目三種開發(fā)模式方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • gtoken替換jwt實現(xiàn)sso登錄的問題小結

    gtoken替換jwt實現(xiàn)sso登錄的問題小結

    這篇文章主要介紹了gtoken替換jwt實現(xiàn)sso登錄,主要介紹了替換jwt的原因分析及gtoken的優(yōu)勢,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論