Gin框架Handle()方法自定义路由匹配指南

Gin框架自定义路由匹配指南

在Go语言的Gin框架中,除了使用标准的路由参数匹配(如:name),还可以通过Handle()方法实现更灵活的自定义路由匹配。以下是几种实现方式:

go.jpg

1. 基础自定义路由匹配

package main

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

func main() {
    r := gin.Default()

    // 自定义路由匹配函数
    r.Handle("GET", "/user/*action", func(c *gin.Context) {
        action := c.Param("action")
        c.String(http.StatusOK, "Action: %s", action)
    })

    r.Run(":8080")
}

2. 使用正则表达式匹配

Gin支持在路由参数中使用正则表达式:

func main() {
    r := gin.Default()

    // 匹配格式为 /user/数字 的路径
    r.GET("/user/:id(\\d+)", func(c *gin.Context) {
        id := c.Param("id")
        c.String(http.StatusOK, "User ID: %s", id)
    })

    // 匹配格式为 /file/文件名.扩展名 的路径
    r.GET("/file/:filename.:ext", func(c *gin.Context) {
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值