在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中文網其他相關文章!