gin的安装和使用
go get -u github.com/gin-gonic/gin
第一个Gin实例
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
// 创建一个默认的路由引擎
r := gin.Default()
// GET:请求方式;/hello:请求的路径
// 当客户端以GET方法请求/hello路径时,会执行后面的匿名函数
r.GET("/hello", func(c *gin.Context) {
// c.JSON:返回JSON格式的数据
c.JSON(200, gin.H{
"message": "Hello world!",
})
})
// 启动HTTP服务,默认在0.0.0.0:8080启动服务
r.Run()
}
RESTful API
简单来说,REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作。
GET用来获取资源POST用来新建资源PUT用来更新资源DELETE用来删除资
只要API程序遵循了REST风格,那就可以称其为RESTful API。目前在前后端分离的架构中,前后端基本都是通过RESTful API来进行交互。
例如我们现在要开发一个电商后台管理系统,对一个商品进行查询,删除,增加,修改时 一般来说查询时我们使用Get请求,后面统一使用POST请求 如果按照RestfulApi的设计来说
| 请求方法 | URL | 含义 |
|---|---|---|
| GET | /goods | 查询商品信息 |
| POST | /goods | 新增商品信息 |
| PUT | /goods | 更新商品信息 |
| Delete | /goods | 删除商品信息 |
Gin框架支持开发RESTful API的开发 如下所示:
func main() {
r := gin.Default()
r.GET("/goods", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "GET",
})
})
r.POST("/goods", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "POST",
})
})
r.PUT("/goods", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "PUT",
})
})
r.DELETE("/goods", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "DELETE",
})
})
}