首頁 >後端開發 >Golang >如何使用 Gin 路由器提供靜態檔案?

如何使用 Gin 路由器提供靜態檔案?

Patricia Arquette
Patricia Arquette原創
2024-11-04 10:06:021098瀏覽

How do I Serve Static Files with a Gin Router?

使用Gin 路由器提供靜態檔案

在Gin 中,可以透過專用路由來實現JSON 等靜態檔案的服務,無需建置複雜的檔案服務從頭開始系統。

考慮問題中給定的應用程式結構和程式碼。 HTML 文件使用 JavaScript 存取 JSON 文件,但嘗試存取時發生錯誤。要解決此問題,請在 main.go 檔案中為 JSON 檔案定義特定路由:

<code class="go">func main() {
    router = gin.Default()
    router.LoadHTMLGlob("templates/*")

    router.GET("/web", func(c *gin.Context) {
        c.HTML(http.StatusOK, "index.html", gin.H{
            "title": "Web",
            "url":   "/web.json", // Change here to use the newly defined static file route
        })
    })

    // Add a route for the JSON file
    router.StaticFile("/web.json", "templates/web.json") // Add this line

    router.Run()
}</code>

現在,Gin 將透過「/web.json」路由提供 JSON 檔案。請記住在您的index.html 檔案中包含適當的HTML 標籤,以便在JavaScript 中顯示和存取JSON 檔案:

<code class="html">...
<script>
  window.onload = function() {
    // Begin Swagger UI call region
    const ui = SwaggerUIBundle({
      url: "/web.json", // Use the static file route here
      dom_id: '#swagger-ui',
      // ...
    })
    // End Swagger UI call region

    window.ui = ui
  }
</script>
...</code>

透過執行以下步驟,您可以在Gin 路由器中有效地提供靜態文件,從而允許您的應用程式存取必要的資料和功能。

以上是如何使用 Gin 路由器提供靜態檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn