二 :gin web框架学习常用路由参数解析

厚朴酚XZ9lr · · 1551 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

获取"/user/:name"的name参数
      router.GET("/user/:name", func(c *gin.Context) {
                    name := c.Param("name")
                    c.JSON(http.StatusOK,gin.H{"name":name})
                })
/params?firstname=lcd&lastname=dong
    router.GET("/params", func(context *gin.Context) {
            firstname := context.DefaultQuery("firstname","defaultName")
            lastname := context.Query("lastname")
            context.JSON(http.StatusOK,gin.H{
                "firstName":firstname,
                "lastName":lastname,
            })
        })
        
  • /params?firstname=lcd&lastname=dong
  • 返回结果: {"lastName",lin,"lastName":dong}
  • 对于context.DefaultQuery(key,defaultValue): 如果没有指定字段,则给定key设置一个默认值,在分页
Multipart/Urlencoded Form
    router.POST("/form_post", func(c *gin.Context) {
            name := c.PostForm("name")
            nick := c.DefaultPostForm("age", "90")
    
            c.JSON(200, gin.H{
                "name": name,
                "age":    nick,
            })
        })
  • 测试

clipboard.png

post application/Json格式

type User struct {

Username string `form:"username" json:"username" binding:"required"`
Passwd   string `form:"passwd" json:"passwd" bdinding:"required"`
Age      int    `form:"age" json:"age"`

}


router.POST("/json", func(context *gin.Context) {
        var user User
        context.BindJSON(&user)
        context.JSON(200,gin.H{"data":user})
    })
    
  • 测试

clipboard.png


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:厚朴酚XZ9lr

查看原文:二 :gin web框架学习常用路由参数解析

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1551 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传