测试准备两个txt文件,内容随意,在文件static/json文件夹下, homeTab.txt,searchKey.txt
启动入口
main.go
package main
import (
"fmt"
"gin-test/router"
)
func main() {
// 初始化路由并启动
router.InitRouter()
}
路由配置
router/router.go
package router
import (
"gin-test/controller"
"github.com/gin-gonic/gin"
)
func InitRouter() {
// 创建路由
r := gin.Default()
// 读取静态资源
r.Static("/static", "./static")
// 创建一个emp路由组
empRouter := r.Group("/emp")
// 测试路由组
empRouter.GET("/test", controller.EmpController{}.Index)
// 获取搜索关键词数据
empRouter.GET("/searchKeyWord", controller.EmpController{}.SearchKeyContent)
// 获取首页tab信息
empRouter.GET("/getTabInfo", controller.EmpController{}.HomeTabInfos)
// 启动服务
r.Run(":9999")
}
控制器
controller/empController.go
package controller
import (
"io/ioutil"
"net/http"
"github.com/gin-gonic/gin"
)
type EmpController struct{}
// 测试内容
func (EmpController) Index(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "hello world",
})
}
// 获取搜索内容数据
func (EmpController) SearchKeyContent(c *gin.Context) {
// 读取文件searchKey.txt内容
searchKeyContent, err := ioutil.ReadFile("static/json/searchKey.txt")
if err != nil {
c.JSON(http.StatusOK, gin.H{
"code": 1,
"msg": "error",
"errorMsg": err.Error(),
})
return
}
c.JSON(http.StatusOK, gin.H{
"code": 0,
"data": string(searchKeyContent),
"msg": "success",
})
}
// 获取首页tan名称以及跳转信息
func (EmpController) HomeTabInfos(c *gin.Context) {
// 读取文件searchKey.txt内容
searchKeyContent, err := ioutil.ReadFile("static/json/homeTab.txt")
if err != nil {
c.JSON(http.StatusOK, gin.H{
"code": 1,
"msg": "error",
"errorMsg": err.Error(),
})
return
}
c.JSON(http.StatusOK, gin.H{
"code": 0,
"data": string(searchKeyContent),
"msg": "success",
})
}