Gin的基本入门案例:
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
router := gin.Default()
//
//http://127.0.0.1:8080/params?firstname=lcd&lastname=dong
router.GET("/params", func(c *gin.Context) {
firstname := c.DefaultQuery("firstname","defaultName")
lastname := c.Query("lastname")
c.JSON(http.StatusOK, gin.H{
"firstName":firstname,
"lastName":lastname,
})
})
//
//http://127.0.0.1:8080/user/lcd
router.GET("/user/:name", func(c *gin.Context) {
name := c.Param("name")
c.JSON(http.StatusOK, gin.H{
"name": name,
})
})
//
//http://127.0.0.1:8080/form_post
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,
})
})
//
//http://127.0.0.1:8080/json_post
router.POST("/json_post", func(c *gin.Context) {
type User struct {
Username string `form:"username" json:"username"`
Password string `form:"passwd" json:"passwd"`
Age int `form:"age" json:"age"`
}
//
var user User
c.BindJSON(&user)
c.JSON(200, gin.H{
"data": user,
})
})
//
router.Run("0.0.0.0:8080")
}
编译运行:
go run main.go
go build main.go
参考:
https://segmentfault.com/a/1190000019972283?utm_source=tag-newest