【问题标题】:How to solve problem conflicts with existing children?如何解决现有孩子的问题冲突?
【发布时间】:2020-03-02 02:42:51
【问题描述】:

我有路径: 获取/测试 获取 /{测试} 当我运行我得到的代码时

通配符段 ':test' 与路径 '/:test' 中的现有子项冲突 如何解决这个问题? 代码:

r := gin.Default()
r.GET("/test", test1)
r.GET("/:test", test2)

【问题讨论】:

  • /test 匹配 /test 和 /:test。您可以定义一个路径,/:test,并在处理程序中自己路由。

标签: go


【解决方案1】:

方式一:

不同路径中的不同处理函数(即test1、test2)。

router := gin.Default()

router.GET("/test1", func(c *gin.Context) {
        // test1
    })

router.GET("/test2", func(c *gin.Context) {
        // test2
    })

方式二:

在路径中使用一个带参数的处理函数。

router := gin.Default()

router.GET("/:test", func(c *gin.Context) {
        test := c.Param("test")
        if test == "test1" {
             // test1
        } else if test == "test2" {
             // test2
        }
    })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2020-10-02
    • 2016-04-28
    • 2012-07-27
    相关资源
    最近更新 更多