gin框架简介
介绍
Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错
借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范
安装
要安装Gin软件包,您需要安装Go并首先设置Go工作区。
1.首先需要安装Go(需要1.10+版本),然后可以使用下面的Go命令安装Gin。
go get -u github.com/gin-gonic/gin
2.将其导入您的代码中:
import "github.com/gin-gonic/gin"
3.(可选)导入net/http。例如,如果使用常量,则需要这样做http.StatusOK。
import "net/http"
Hello World
- main.go
package main
import (
"common_standard_library/controller"
"github.com/gin-gonic/gin"
)
func main() {
// 创建路由
router := gin.Default()
router.Use(setUserName)
// 注册路由
registerRouter(router)
router.Run()
}
func registerRouter(router *gin.Engine) {
// 注册hello路由
new(controller.Hello).Register(router)
}
func setUserName(context *gin.Context) {
context.Set("username", "马亚南")
}
- controller包中的hello.go
package controller
import (
"github.com/gin-gonic/gin"
"net/http"
)
type Hello struct {}
func (h *Hello) Register(router *gin.Engine) {
// 绑定路由规则执行的函数
router.GET("/hello", h.Hello)
}
func (h *Hello) Hello(context *gin.Context) {
// gin.Context里面封装了request和response
// 上下文是 gin 中最重要的部分。例如,它允许我们在中间件之间传递变量、管理流程、验证请求的 JSON 并呈现 JSON 响应。
context.JSON(http.StatusOK, gin.H{
"name": "zhang",
"age": 18,
"username": context.MustGet("username"),
})
}