首页 >后端开发 >Golang >Gin Gonic - URL 内的冒号

Gin Gonic - URL 内的冒号

王林
王林转载
2024-02-08 23:27:301061浏览

Gin Gonic - URL 内的冒号

Gin Gonic是一款流行的Go语言Web框架,被广泛用于构建高性能的Web应用程序。在使用Gin Gonic时,有时候我们需要在URL路径中使用冒号来定义参数,但是默认情况下Gin Gonic并不支持在URL中使用冒号。那么,该如何在URL中使用冒号呢?本文将由php小编苹果为大家介绍一种简单而有效的方法来解决这个问题,让我们的Gin Gonic应用程序能够支持URL中的冒号。

问题内容

我正在用 Go 中的 Gin Gonic 创建一些 REST API。 我必须使用以下 URL 公开此端点: /api/v1/action::request::export 我使用 gin gonic 来创建路由,但收到此错误“每个路径段仅允许使用一个通配符”,因为冒号“:”用于映射 URL 中的参数。

有办法转义“:”字符并将其用于 URL 吗?

谢谢

解决方法

就像评论中提到的f.s一样,您可以只使用一个pathparam action 然后在代码中根据需要进行解析。

这是一个适合您的示例:

package main

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

func main() {
    r := gin.Default()
    r.GET("/api/v1/:action", func(c *gin.Context) {
        params, ok := c.Params.Get("action")
        if !ok {
            // handle error
        }

        eachParam := strings.SplitN(params, ":", 3)
        request, export := eachParam[1], eachParam[2] // your actual params divided by ":"

        c.JSON(200, gin.H{
            "message": "good",
        })
    })
    r.Run()
}

但是,当然,这种方法有其自身的注意事项,您必须自己处理异常和边缘情况。

以上是Gin Gonic - URL 内的冒号的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除