gin使用

gin使用

1.创建一个最基本的服务器

router := gin.Default() 
//确定模板文件的路径
router.LoadHTMLGlob("./src/template/*")

router.GET("/", home)   

groupSpider := router.Group("/spider/") groupSpider.GET("/:type/:index", getData) groupSpider.GET("/:type/", getData)
   
groupBili := router.Group("/bili/")
groupBili.GET("/query", biliQuery) 
groupBili.POST("/query", biliQuery)   

router.GET("/echo", chat.Echo)   

router.Run(":8080")

2.实现home方法

func home(c *gin.Context) {
    //跳转到`/spider/huxiu`路由
    c.Redirect(http.StatusMovedPermanently, "/spider/huxiu") 
}

3.实现getData方法

//根据请求参数获取数据 
func getData(c *gin.Context) {
    //获取url请求中的参数:map解析方式
    pageType := c.Param("type")
    pageIndex := c.Param("index")   
    //str转int 
    index, err := strconv.Atoi(pageIndex)
    //根据解析的index来确定分页获取数据
    if err != nil {
        if pageIndex == "prev" {
            if mapIndex[pageType] > 0 {
                index = mapIndex[pageType] - 1
            } else {
                index = 0
            }
        } else if pageIndex == "next" {
            index = mapIndex[pageType] + 1
        } else {
            index = 0
        }
    }  
    mapIndex[c.Param("type")] = index
    //从modle中获取数据
    news, err := modle.GetDataFromRedis(pageType, (index)*20, 20)
    //如果获取失败的话就返回错误好了
    if err != nil {
        c.JSON(http.StatusOK, gin.H{`error`: 1, `data`: ``})
    }  
    /**
    1.返回模板文件
    2.向模板文件中写入数据
    */
    c.HTML(http.StatusOK, "news.html", gin.H{"news": news, "type": pageType}) }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容