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来做为客户端的测试工具

结果如下  RESTful API测试用例1