gin简单尝试|青训营笔记

103 阅读1分钟

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页面。