• go web gin 路由和路由组


    package main
    
    import (
    
    	"github.com/gin-gonic/gin"
    	"log"
    
    	"net/http"
    )
    
    type Info struct {
    	Name string `json:"name"` // 结构标签是的名称是 http 发送请求的时候的 key 的名字, 要和这个结构标签相同才能获取到
    	Age int64 `json:"age"`
    }
    
    func main()  {
    	r := gin.Default()
    
    	// 路由组,把共同给路由前缀提取出来
    	// 用户路由组
    	usergroup := r.Group("/user")
    	usergroup.GET("/hello", func(c *gin.Context) {
    		c.JSON(http.StatusOK,gin.H{
    			"message":"hello",
    		})
    	})
    
    
    	// go gin 如何获取 http 请求 json 数据呢? 下面这个貌似 404,  这个是表单可以的吧。
    	usergroup.POST("/info", func(c *gin.Context) {
    		name := c.GetString("name")
    		age := c.GetString("age")
    		c.JSON(http.StatusOK,gin.H{
    			"Name":name,
    			"Age":age,
    		})
    	})
    
    	usergroup.POST("/test", func(c *gin.Context) {
    		var info Info
    		//err := c.ShouldBind(&info)  这个获取不到数据,请求是json数据,应该用 ShouldBindJSON ,换了下面的方法,ok l
    		err := c.ShouldBindJSON(&info)
    
    		if err !=nil {
    			c.JSON(http.StatusInternalServerError, gin.H{
    				"err": err.Error(),
    			})
    		} else {
    			log.Println("---info---:",info)
    			c.JSON(http.StatusOK,gin.H{
    				"Name":info.Name,
    				"Age":info.Age,
    			})
    		}
    	})
    
    
    	// 学生路由组
    	studentgroup := r.Group("/student")
    	studentgroup.GET("/info", func(c *gin.Context) {
    		c.JSON(http.StatusOK,gin.H{
    			"message":"ok",
    		})
    	})
    
    
    
    
    
    	r.Run(":8888")
    
    
    
    }
    

      

  • 相关阅读:
    Provisioning profile 浅析
    Swift --> Map & FlatMap
    Swift 学习笔记(五)
    Swift 学习笔记(四)
    Swift 学习笔记 (三) 之循环引用浅析
    Swift 学习笔记 (二)
    HomeBrew
    UIGestureRecognizer 手势浅析
    frame、bounds表示大小和位置的属性以及center、position、anchorPosition
    UIViewContentMode 图文解说
  • 原文地址:https://www.cnblogs.com/zexin88/p/14450688.html
Copyright © 2020-2023  润新知