Gin框架
2023-01-30 00:00:03
技术
Gin是一个使用Go语言开发的Web框架。 它提供类似Martini的API,但性能更佳,速度提升高达40倍。 如果你是性能和高效的追求者, 你会爱上 Gin。
Gin 简单使用
在这之前我们需要初始化项目
go mod init ginstudy
如果使用goland应该在项目创建时就会初始化并创建go.mod文件,我使用的vs code需要自己初始化项目
gin框架 官方文档
下载并安装 gin:
go get -u github.com/gin-gonic/gin
项目引入gin
import "github.com/gin-gonic/gin"
package main
import (
"github.com/gin-gonic/gin"
)
func sayHello(c *gin.Context) {
//返回和json格式的数据,状态码为200
/* gin.H
//H is a shortcut for map[string]interface{} key为string类型,value为任意类型
type H map[string]any
*/
c.JSON(200, gin.H{
"message": "hello golang",
})
}
func main() {
//创建一个默认的路由引擎 *gin.Engine
r := gin.Default()
// GET:GET请求方式; /hello:请求的路径
// 当客户端以GET方式请求/hello路径时,会执行后面的函数sayHello
r.GET("/hello", sayHello)
//启动服务,在指定端口监听
r.Run(":9090")
}
//运行
//访问localhost:9090/hello,显示{"message":"hello golang"}
RESTfulAPI
在main()中加入以下请求方法
r.GET("/book", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "GET",
})
})
r.POST("/book", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "POST",
})
})
r.PUT("/book", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "PUT",
})
})
r.DELETE("/book", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "DELETE",
})
})
通过浏览器访问只能使用GET和POST请求,使用api测试工具进行测试 api工具有postman、apipost、apifox等,我这里使用apipost测试