扫码一下
查看教程更方便
要弄清楚什么是restful api,首先要知道rest是什么。
rest是representational state transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”
简单来说,rest的含义就是客户端与web服务器之间进行交互的时候,使用http协议中的4个请求方法代表不同的动作
只要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来做为客户端的测试工具
结果如下