您的位置:58脚本 > gin路由实现 Gin 路由

gin路由实现 Gin 路由

2023-03-19 07:32 Gin教程

gin路由实现 Gin 路由

gin路由实现

Gin是一个Go语言的Web框架,它可以帮助开发者快速构建高性能的Web应用程序。Gin路由是Gin框架中最重要的部分,它可以帮助开发者将HTTP请求映射到特定的处理函数。

Gin路由使用非常简单,只需要在main函数中创建一个新的gin.Engine对象,然后使用该对象的Router方法来注册路由。例如:

r := gin.Default()  // 创建一个新的gin.Engine对象
r.GET("/", func(c *gin.Context) {  // 注册GET请求处理函数
    c.String(http.StatusOK, "Hello World!")  // 返回字符串Hello World!
}) 

上面代码中,我们使用gin.Default()方法创建了一个新的gin.Engine对象,然后使用Router方法来注册GET请求处理函数。当有GET请求时,会执行func(c *gin.Context)函数,并返回字符串“Hello World!”。

此外,Gin还提供了其他方法来注册不同类型的HTTP请求处理函数:POST、PUT、DELETE、PATCH、HEAD、OPTIONS等。例如:

 
r := gin.Default()   // 创建一个新的gin.Engine对象 
r.POST("/", func(c *gin.Context) {   // 注册POST请求处理函数 
    c.String(http.StatusOK, "Hello World!")   // 返回字符串Hello World! 
})   

上面代码中我们使用Router方法来注册POST请求处理函数。当有POST请求时会执行func(c *gin.Context)函数并返回字符串“Hello World!”。

此外,Gin还允许开发者使用正则表达式来匹配URL地址。例如我们可以使用正则表达式`/user/:name`来匹配所有以`/user/`开头的URL地址。例如`/user/john`、`/user/jane`都会匹配上这个正则表达式。

Gin 路由

普通路由

r.GET("/get",func(c *gin.Context) {})
r.GET("/login",func(c *gin.Context) {})
r.POST("/login",func(c *gin.Context) {})

此外,还有一个可以匹配所有请求方法的Any方法如下

r.Any("/test",func(c *gin.Context) {})

为没有配置处理函数的路由添加处理程序,默认情况下它返回404代码,以下为没有匹配到路由的请求返回的是​templates/404.html​页面

r.NoRoute(func(c *gin.Context) {
		c.HTML(http.StatusNotFound,"templates/404.html",nil)
})

路由组

我们可以将拥有共同前缀URL的路由划分为一个路由组

package main

import (
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	user := r.Group("/user")
	user.GET("/index", func(c *gin.Context) {})
	user.POST("/login", func(c *gin.Context) {})
	r.Run()
}

路由组也是支持嵌套的

func main() {
	r := gin.Default()
	user := r.Group("/user")
	user.GET("/index", func(c *gin.Context) {})
	user.POST("/login", func(c *gin.Context) {})
	pwd:=user.Group("/pwd")
	pwd.GET("/pwd",func(c *gin.Context) {})
	r.Run()
}


阅读全文
以上是58脚本为你收集整理的gin路由实现 Gin 路由全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS