package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
type UserInfo struct {
UserName string `json:"username" form:"username" uri:"username"`
Age int `json:"age" form:"age" uri:"age"`
}
func bindjson(c *gin.Context) {
var user UserInfo
err := c.ShouldBindJSON(&user)
if err != nil {
fmt.Printf("err: %v\n", err)
c.JSON(http.StatusBadRequest, gin.H{
"msg": err})
}
c.JSON(http.StatusOK, user)
}
func bindquery(c *gin.Context) {
var user UserInfo
err := c.ShouldBindQuery(&user)
if err != nil {
fmt.Printf("err: %v\n", err)
c.JSON(http.StatusBadRequest, gin.H{
"msg": err})
}
c.JSON(http.StatusOK, user)
}
func binduri(c *gin.Context) {
var user UserInfo
err := c.ShouldBindUri(&user)
if err != nil {
fmt.Printf("err: %v\n", err)
c.JSON(http.StatusBadRequest, gin.H{
"msg": err})
}
c.JSON(http.StatusOK, user)
}
func main() {
router := gin.Default()
router.POST("/bindjson", bindjson)
router.POST("/bindquery", bindquery)
router.POST("/binduri/:username/:age", binduri)
router.Run("localhost:9999")
}