小白教程
所有教程
关于
Search
172.69.6.76
172.69.6.76
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Golang Gin Web 框架路由”的源代码
本页内容
上一节:
Golang_Gin_Web_框架HTML模版渲染
下一节:
Golang_Gin_参数和模型绑定
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[分类:Golang Gin Web 框架教程]] Gin路由功能简单且强大。 == 静态文件路由 == <sample title="" desc="" > func main() { router := gin.Default() router.Static("/assets", "./assets") router.StaticFS("/more_static", http.Dir("my_file_system")) router.StaticFile("/favicon.ico", "./resources/favicon.ico") // 监听并在 0.0.0.0:8080 上启动服务 router.Run(":8080") } </sample> == 对HTTP请求方法的支持 == 在实际使用中请选择合适的http method,比如提交表单通常使用POST。 虽然有ANY方法去匹配所有的HTTP请求方法,不过不推荐使用。 <sample title="" desc="" > func main() { // 禁用控制台颜色 // gin.DisableConsoleColor() // 使用默认中间件(logger 和 recovery 中间件)创建 gin 路由 router := gin.Default() router.GET("/someGet", getting) router.POST("/somePost", posting) router.PUT("/somePut", putting) router.DELETE("/someDelete", deleting) router.PATCH("/somePatch", patching) router.HEAD("/someHead", head) router.OPTIONS("/someOptions", options) r.Any("ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) // 默认在 8080 端口启动服务,除非定义了一个 PORT 的环境变量。 router.Run() // router.Run(":3000") hardcode 端口号 } </sample> == 设置路由参数 == 路由参数能让我们的URL看起来更加简洁可读性更高。 <sample title="" desc=""> func main() { router := gin.Default() // 此 handler 将匹配 /user/john 但不会匹配 /user/ 或者 /user router.GET("/user/:name", func(c *gin.Context) { name := c.Param("name") c.String(http.StatusOK, "Hello %s", name) }) // 此 handler 将匹配 /user/john/ 和 /user/john/send // 如果没有其他路由匹配 /user/john,它将重定向到 /user/john/ router.GET("/user/:name/*action", func(c *gin.Context) { name := c.Param("name") action := c.Param("action") message := name + " is " + action c.String(http.StatusOK, message) }) router.Run(":8080") } </sample> == 路由组 == 路由组可以让轻松的把路由进行分组,方便对api版本,授权接口,不授权接口,不用业务接口进行区分。 <sample title="" desc=""> func main() { router := gin.Default() // 简单的路由组: v1 v1 := router.Group("/v1") { v1.POST("/login", loginEndpoint) v1.POST("/submit", submitEndpoint) v1.POST("/read", readEndpoint) } // 简单的路由组: v2 v2 := router.Group("/v2") { v2.POST("/login", loginEndpoint) v2.POST("/submit", submitEndpoint) v2.POST("/read", readEndpoint) } router.Run(":8080") } </sample>
返回至“
Golang Gin Web 框架路由
”。
上一节:
Golang_Gin_Web_框架HTML模版渲染
下一节:
Golang_Gin_参数和模型绑定