gin框架是go web开发的一个比较知名的框架,虽然性能不如字节跳动研发的Hertz,但知名性比较高。听完gin框架介绍后,简单跟些教学视频上手一个没有分离前后端的例子熟悉熟悉gin的用法,同时也更直观地熟悉一些http知识。
code
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
//要把所有需要加载的html文件加载进来才能执行后续的GET\POST请求
r.LoadHTMLFiles("./login.html", "./index.html")
//"/login"是指在URL上面访问的相对路径
//127.0.0.1:9090/login
r.GET("/login", func(c *gin.Context) {
c.HTML(http.StatusOK, "login.html", nil)
})
r.POST("/login", func(c *gin.Context) {
username := c.PostForm("username")
password := c.PostForm("password")
c.HTML(http.StatusOK, "index.html", gin.H{
"Name": username,
"Password": password,
})
})
r.Run(":9090")
}
gin.Default()创建一个默认的路由,GET是方法,当客户端以GET方法请求login路径时,会执行后面的匿名函数func(c *gin.Context)内容,返回HTML内容。服务通过r.Run()在本地9090端口启动。 GET/POST都是http里用来访问URL的方法。GET是获取资源,POST是传输实体主体,还有PUT(传输文件)、Delete(删除文件)等。gin还有一个any的方法,可以用来匹配所有请求,它为没有配置处理函数的路由添加处理程序,默认情况下它返回404代码,下面的代码为没有匹配到路由的请求都返回404.html页面。