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