1.后端接收前端发送的JSON数据

1.方法:

使用gin框架的BindJSON方法,将前端的json格式数据将后端的结构体相绑定,从而获取到前端所发送的数据,并返回给前端

2.源代码

package mainimport "github.com/gin-gonic/gin"//测试json数据func main() {r := gin.Default()type LoginForm struct {Name string `form:"name" binding:"required"`Password string `form:"password" binding:"required"`}r.POST("/login", func(c *gin.Context) {json := LoginForm{}//将前端json格式数据与LoginForm对象绑定c.BindJSON(&json)//将结构体已json格式响应回前端c.JSON(200, json)})r.Run(":8081") // 监听并在 0.0.0.0:8081 上启动服务}

3.结果展示

1.将前端发送过来的数据全部返回

2.将前端发送过来的json格式数据选择性返回

2.后端接收前端发送的表单数据(form-data)

1.方法:

使用gin框架的PostForm方法,从而获取到前端form格式的参数

2.源代码:

package mainimport "github.com/gin-gonic/gin"//测试form-datafunc main() {r := gin.Default()r.POST("/login", func(c *gin.Context) {name := c.PostForm("name")c.JSON(200, name)})r.Run(":8081") // 监听并在 0.0.0.0:8081 上启动服务}

3.结果展示

3.后端接收前端发送的Params(请求路径中的参数)

1.方法:

使用gin框架中的Params.ByName方法

2.源代码:

package mainimport "github.com/gin-gonic/gin"//测试paramsfunc main() {r := gin.Default()r.POST("/login/:id", func(c *gin.Context) {//获取请求路径中的参数id := c.Params.ByName("id")c.JSON(200, id)})r.Run(":8081") // 监听并在 0.0.0.0:8081 上启动服务}

3.结果展示: