首頁 > 後端開發 > Golang > 主體

如何建立 Gin 路由以實現乾淨的程式碼?

Linda Hamilton
發布: 2024-11-02 21:09:02
原創
642 人瀏覽過

How to Structure Your Gin Routes for Clean Code?

在Gin 中對路由進行分組以實現簡潔的代碼

將路由組織到單獨的文件中是減少主路由器文件的混亂和復雜性的常見做法。在 Gin 中,這可以透過利用 Group 方法來實現。

一種方法是將路由器變數儲存為結構成員或全域變量,允許單一檔案向其添加處理程序。這是一個例子:

routes.go

<code class="go">package app

import (
    "github.com/gin-gonic/gin"
)

type routes struct {
    router *gin.Engine
}

func NewRoutes() routes {
    r := routes{
        router: gin.Default(),
    }

    v1 := r.router.Group("/v1")

    r.addPing(v1)
    r.addUsers(v1)

    return r
}

func (r routes) Run(addr ...string) error {
    return r.router.Run()
}</code>
登入後複製

ping.go

<code class="go">package app

import "github.com/gin-gonic/gin"

func (r routes) addPing(rg *gin.RouterGroup) {
    ping := rg.Group("/ping")

    ping.GET("/", pongFunction)
}

func pongFunction(c *gin.Context) {
    c.JSON(200, gin.H{
        "message": "pong",
    })
}</code>
登入後複製

users.go

<code class="go">package app

import "github.com/gin-gonic/gin"

func (r routes) addUsers(rg *gin.RouterGroup) {
    users := rg.Group("/users")

    users.GET("/", getUsersFunction)
}

func getUsersFunction(c *gin.Context) {
    c.JSON(200, gin.H{
        "users": "...",
    })
}</code>
登入後複製

利用這種方法,每個函數檔案都可以在其特定群組中定義處理程序,保持主程式碼庫的組織和模組化。

以上是如何建立 Gin 路由以實現乾淨的程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!