gin是通过Go编写的Web框架,性能和高效都很有优势。它是Go的web框架中最流行的,基于httprouter开发的。中文文档齐全,简单易用的轻量级框架。
下载和安装Gin:
go get -u github.com/gin-gonic/gin
将gin引入到代码中
import "GitHub.com/gin-gonic/gin"
import "net/http"
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func sayHello(c *gin.Context) {
//返回JSON类型的数据
c.JSON(http.StatusOK, gin.H{
"message": "Hello world",
})
}
func main() {
//创建一个默认的路由引擎
r := gin.Default()
//GET请求方式 /hello:路由
//当客户端以GET方式请求/hello路径时,会执行后面的匿名函数
r.GET("/hello", sayHello)
//启动HTTP服务,默认在127.0.0.1:8080启动服务
r.Run("localhost:9090")
}
所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试。
beego中我们可以使用官方的bee工具进行热加载项目,gin中没有官方提供的加载工具,我们需要借助第三方工具。
1.https://github.com/gravityblast/fresh
go get github.com/pilu/fresh
fresh
2.https://github.com/codegangsta/gin
go get -u github.com/codegangsta/gin
gin run main.go
路由(routing)是一个URL(路径)和一个特定http方法(GET、POST、PUT、DELETE)组成的,涉及到应用如何响应客户端对某个网站节点的访问。
RESTful API是目前比骄傲成熟的一套互联网应用程序的API设计理念,所以我们设计我们的路由的时候建议参考RESTful API.
RESTful架构中,每一个网址代表一种资源,不同的请求方式表示执行不同的操作。
GET(select) | 从服务器获取资源(一项或者多项) |
POST(CREATE) | 在服务器新建一个资源 |
PUT(UPDATE) | 在服务器更新资源(客户端提供改变后的资源) |
DELETE(DELETE) | 从服务器删除资源 |
当用GET请求访问一个网页的时候,做什么事情:
当用POST访问一个页面的时候,做什么事情:
当用PUT访问一个页面的时候,做什么事情:
当用DELETE访问一个页面的shih,做什么事情:
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
//创建一个默认的路由引擎
r := gin.Default()
//GET请求
r.GET("/index", func(c *gin.Context) {
c.String(http.StatusOK, "Get")
})
//POST请求
r.POST("/index", func(c *gin.Context) {
c.String(http.StatusOK, "POST请求")
})
//PUT请求
r.PUT("index", func(c *gin.Context) {
c.String(http.StatusOK, "PUT请求")
})
//DELETE请求
r.DELETE("index", func(c *gin.Context) {
c.String(http.StatusOK, "DELETE请求")
})
//启动HTTP服务,默认在127.0.0.1:8080启动服务
r.Run("localhost:9090")
}
路由里面获取Get传值
http://localhost:9090/index?username=干饭小白
动态路由
http://localhost:9090/index/abc