beego中获取url以及参数的方式

以下都全默认在controller下执行

  • 获取当前请求的referer

    fmt.Println(this.Ctx.Request.Referer())
    输出:http://localhost:8080/swagger/

  • 获取当前uri,

    fmt.Println(this.Ctx.Request.RequestURI)
    输出: /v1/weather/?longitude=1&latitude=2

  • 获取query参数,形如 /?longitude=1&latitude=2

    fmt.Println(this.Ctx.Input.Query("longitude"))
    fmt.Println(this.Ctx.Input.Query("latitude"))

    ps:正常情况下,Query的key不应当以:开头,以免和Param里的key冲突

  • 获取path参数, 形如http://localhost:8080/userinfo/{uid}这种
    fmt.Println(u.GetString(":uid"))
    或者this.Ctx.Input.Param(":uid")

    这里是字符串,如果是其他类型参考
    GetString(key string) string
    GetStrings(key string) []string
    GetInt(key string) (int64, error)
    GetBool(key string) (bool, error)
    GetFloat(key string) (float64, error)

  • 直接解析到 struct

原文地址:https://www.cnblogs.com/lz0925/p/11856084.html