我想用gin服务器提供一个JSON文件,并在HTML文件中设置一些自定义的值,在其中使用JavaScript调用JSON文件。
我的申请结构:
.
├── main.go
└── templates
├── index.html
└── web.json
我把这些基本源代码放入main.go
文件中:
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
var router *gin.Engine
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",
},
)
})
router.Run()
}
templates/index.html
文件中的一些代码:
<!doctype html>
<html>
<head>
<title>{{ .title }}</title>
// ...
</head>
<body>
<div id="swagger-ui"></div>
// ...
<script>
window.onload = function() {
// Begin Swagger UI call region
const ui = SwaggerUIBundle({
url: "{{ .url }}",
dom_id: '#swagger-ui',
// ...
})
// End Swagger UI call region
window.ui = ui
}
</script>
</body>
</html>
运行应用程序时,我得到了一个获取错误:
页面没有找到。
那么,我应该如何在Gin内部服务器中提供要访问的web.json
文件呢?
2条答案
按热度按时间nue99wik1#
引用原始杜松子酒文件:https://github.com/gin-gonic/gin#serving-static-files
因此,基本上,您应该在已定义的其他路由旁边定义一个特定于JSON文件的路由,然后使用该路由。
e4eetjau2#
如果你想根据查询路径提供静态文件,你可以这样做: