数据解析过程分析
本文通过阅读Golang的Gin框架源码,分析了Gin框架接收前端传来POST请求中携带数据的过程。
这边我们以一个简化的登录验证操作为例,获取前端POST请求的data中JSON对象,如果符合要求则登录。
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
type LoginData struct {
User string `form:"user" binding:"required"`
Password string `form:"password" binding:"required"`
}
func main() {
router := gin.Default()
router.POST("/login", func(c *gin.Context) {
// 使用 ShouldBind 方法自动绑定:
var data LoginData
// 在这种情况下,将自动选择合适的绑定
if c.ShouldBind(&data) == nil {
fmt.Println(data.User, data.Password)
if data.User == "root" && data.Password == "123456" {
c.JSON(200, gin.H{
"status": "you are logged in"})
} else {
c.JSON(401, gin.H{
"status": "unautho

最低0.47元/天 解锁文章
855

被折叠的 条评论
为什么被折叠?



