gin框架学习之路由
- 路由蛮多常用的方法,例如: GET、POST、PUT、DELETE等等
- 测试可以使用postman,嗯嗯。
- gin也提供了一种全能的方法哈, any函数
r.Any("/user", func(c *gin.Context) {
switch c.Request.Method {
case http.MethodGet:
c.JSON(http.StatusOK,gin.H{"method":"GET"})
case http.MethodPost:
c.JSON(http.StatusOK,gin.H{"method":"POST"})
case http.MethodPut:
c.JSON(http.StatusOK,gin.H{"method":"PUT"})
case http.MethodDelete:
c.JSON(http.StatusOK,gin.H{"method":"DELETE"})
}
})
- 非常的好用哈!
有的时候吧,我们访问网页的时候经常爆出 404 画面,这无疑是我们的路径有问题哈!一般500+是服务器的问题哈!
- 那么我们总不能顶这个404给用户看吧,所以我们的gin也考虑到了,给出了该路由 noroute,用法和一般的一样的使用即可
r.NoRoute(func(c *gin.Context) {
c.JSON(http.StatusNotFound,gin.H{"msg":"哥们咱没有这个路由!!!"})
})
- 非常的实用且方便哈!
然后咱们再来看看路由组
- 啥是路由组?就是一个路由下面有很多分支,不可以写一起,老长老厂了,也不好看
shopGroup := r.Group("/shop")
{
shopGroup.GET("/mai", func(c *gin.Context) {
c.JSON(http.StatusOK,gin.H{"msg":"买了买了"})
})
shopGroup.GET("/find", func(c *gin.Context) {
c.JSON(http.StatusOK,gin.H{"msg":"发现了宝贝"})
})
shopGroup.GET("/need", func(c *gin.Context) {
c.JSON(http.StatusOK,gin.H{"msg":"需要就买吧!"})
})
}
- 这样好看多了吧!!!
提示:可以嵌套使用哦!!