gin框架的基本使用和接口暴露

429 阅读1分钟
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",
		})
	})
}