首页 > 技术文章 > 一.Gin框架介绍与基本使用

tao-xiaoxin 2021-10-19 23:02 原文

一.Gin框架介绍与基本使用

1.基本介绍

  • Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
  • 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错
  • 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范
  • 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin.

2.Gin框架安装与使用

安装

  1. 下载安装Gin:
go get -u github.com/gin-gonic/gin
  1. 将其导入您的代码中:
import "github.com/gin-gonic/gin"
  1. (可选)导入net/http。例如,如果使用常量,则需要这样做http.StatusOK。

    import "net/http"
    

简单示例

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main()  {
	// 1.创建路由
	r:=gin.Default()
	// 2. 绑定路由规则
	// gin.Context,封装了request和response
	r.GET("/", func(c *gin.Context) {
		c.String(http.StatusOK,"hello world")
	})
	// 3.监听端口,默认8080
	// run("里面不指定端口号默认为8080")
	r.Run(":8000")
}

3.RESTful API规范

REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。

推荐阅读:阮一峰 理解RESTful架构

简单来说,REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作。

  • GET用来获取资源
  • POST用来新建资源
  • PUT用来更新资源
  • DELETE用来删除资源。

img

只要API程序遵循了REST规范,那就可以称为RESTful API。目前在前后端分离的架构中,前后端基本都是通过RESTful API来进行交互。

简单示例

比如,编写一个图书管理系统,,我们可以查询对一本书进行查询、创建、更新和删除等操作,我们在编写程序的时候就要设计客户端浏览器与我们Web服务端交互的方式和路径。按照经验我们通常会设计成如下模式:

请求方法 URL 含义
GET /book 查询书籍信息
POST /create_book 创建书籍记录
POST /update_book 更新书籍信息
POST /delete_book 删除书籍信息

同样的需求我们按照RESTful API设计如下:

请求方法 URL 含义
GET /book 查询书籍信息
POST /book 创建书籍记录
PUT /book 更新书籍信息
DELETE /book 删除书籍信息

Gin框架支持开发RESTful API的开发。

package main

import (
	"github.com/gin-gonic/gin"
)

func main()  {
	// 1.创建路由
	r:=gin.Default()
	// 2. 绑定路由规则
	// gin.Context,封装了request和response
	// 查
	r.GET("/book", func(c *gin.Context) {
		c.JSON(200,gin.H{
			"message":"GET",
		})
	})
	// 增
	r.POST("/book", func(c *gin.Context) {
		c.JSON(200,gin.H{
			"message":"POST",
		})
	})
	// 改
	r.PUT("/book", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "PUT",
		})
	})
	// 删
	r.DELETE("/book", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "DELETE",
		})
	})
	// 3.监听端口,默认8080
	// run("里面不指定端口号默认为8080")
	r.Run(":8000")
}

然后访问地址:http://127.0.0.1:8000/book

开发RESTful API的时候我们通常使用Postman来作为客户端的测试工具。

推荐阅读