首页 > 后端开发 > Golang > 正文

Gin Gonic - URL 内的冒号

王林
发布: 2024-02-08 23:27:30
转载
1012 人浏览过

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
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!