Gin RESTful API
要弄清楚什么是RESTful API,首先要知道REST是什么
REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”
简单来说,REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作
- GET用来获取资源
- POST用来新建资源
- PUT用来更新资源
- DELETE用来删除资源
只要API程序遵循了REST风格,那就可以称其为RESTful API。目前在前后端分离的架构中,前后端基本都是通过RESTful API来进行交互
例如,我们现在要编写一个学生管理系统,我们可以对一个学生进行查询、创建、更新和删除等操作,我们在编写程序的时候就要设计客户端浏览器与我们Web服务端交互的方式和路径。按照RESTful API我们通常会设计成如下模式:
请求方法 | URL | 含义 |
---|---|---|
GET | /student | 查询学生信息 |
POST | /create_student | 创建学生信息 |
PUT | /updata_student | 更新学生信息 |
DELETE | /delete_student | 删除学生信息 |
Gin框架支持RESTful API的开发,代码如下
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/student", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "查询学生信息成功",
})
})
r.POST("/create_student", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "创建学生信息成功",
})
})
r.PUT("/updata_student", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "更新学生信息成功",
})
})
r.DELETE("/delete_student", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "删除学生信息成功",
})
})
r.Run()
}
开发RESTful API的时候我们通常使用postman来做为客户端的测试工具
结果如下