使用 Go 和 Gin 开发 RESTful API
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
type User struct {
Username string `json:"username"`
Email string `json:"email"`
}
func main() {
router := gin.Default()
// 获取所有用户
router.GET("/users", func(c *gin.Context) {
users := []User{
{Username: "张三", Email: "zhangsan@example.com"},
{Username: "李四", Email: "lisi@example.com"},
}
c.JSON(200, users)
})
// 获取单个用户
router.GET("/users/:username", func(c *gin.Context) {
username := c.Param("username")
user := User{Username: username, Email: "bob@example.com"}
c.JSON(200, user)
})
// 创建新用户
router.POST("/users", func(c *gin.Context) {
var user User
if c.BindJSON(&user) == nil {
fmt.Printf("创建用户: %#v\n", user)
c.JSON(200, gin.H{"status": "ok", "message": "用户创建成功!"})
} else {
c.JSON(400, gin.H{"status": "error", "message": "无效的请求体!"})
}
})
// 启动服务器
router.Run(":8080")
}
这段代码定义了一个简单的RESTful API,包括获取所有用户、获取单个用户、创建新用户的接口。它使用Gin框架,并展示了如何使用该框架来路由HTTP请求、解析JSON请求体、以及返回JSON响应。
评论已关闭