这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天 在昨天的学习中老师教会了我们如何安装gin框架,对goweb的开发有了初步的认识 Gin是一个非常受欢迎的Golang Web框架,在GitHub上已经有65k的星星,它和Golang的语法一样简洁明了,使得初学者得以迅速入门。
1.安装流程如下
1.1 安装jetbrain旗下的goland
1.2 打开goland
第一行表示项目位置
第二行sdk版本
第三行表示代理
GOPROXY=https://goproxy.cn,direct
1.3 安装gin
项目打开后在终端输入
go get -u github.com/gin-gonic/gin 即可安装成功gin
2.初始gin
2.1 gin hello world
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
router := gin.Default()
router.GET("/", func(context *gin.Context) {
context.String(http.StatusOK, "Hello World")
})
router.Run(":8080")
}
router:=gin.Default():这是默认的服务器。使用gin的Default方法创建一个路由Handler;- 然后通过Http方法绑定路由规则和路由函数。不同于
net/http库的路由函数,gin进行了封装,把request和response都封装到了gin.Context的上下文环境中。 - 最后启动路由的Run方法监听端口。还可以用
http.ListenAndServe(":8080", router),或者自定义Http服务器配置。
2.2关于响应
其实主要关注响应json就ok 其他的类似 首先要先创建一个html文件 然后在从go住书写如下代码
router.GET("/json", func(context *gin.Context) {
context.JSON(http.StatusOK, gin.H{"message": "hey", "status": http.StatusOK})
})
// 结构体转json
router.GET("/moreJSON", func(c *gin.Context) {
// You also can use a struct
type Msg struct {
Name string `json:"user"`
Message string
Number int
}
msg := Msg{"juejin", "hey", 21}
// 注意 msg.Name 变成了 "user" 字段
c.JSON(http.StatusOK, msg)
})
2.3关于请求参数
2.3.1关于四大请求
Restful风格指的是网络应用中就是资源定位和资源操作的风格。不是标准也不是协议。
GET:从服务器取出资源(一项或多项)
POST:在服务器新建一个资源
PUT:在服务器更新资源(客户端提供完整资源数据)
PATCH:在服务器更新资源(客户端提供需要修改的资源数据)
DELETE:从服务器删除资源
package main
type ArticleModel struct {
Title string `json:"title"`
Content string `json:"content"`
}
type Response struct {
Code int `json:"code"`
Data any `json:"data"`
Msg string `json:"msg"`
}
// _getList 文章列表页面
func _getList(c *gin.Context) {
// 包含搜索,分页
articleList := []ArticleModel{
{"Go语言入门", "这篇文章是《Go语言入门》"},
{"python语言入门", "这篇文章是《python语言入门》"},
}
c.JSON(200, Response{0, articleList, "成功"})
}
func main() {
router := gin.Default()
router.GET("/articles", _getList) // 文章列表
router.Run(":80")
}