Gin框架简单使用

Gin框架简单使用

Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin

一、Gin框架介绍

Go世界里最流行的Web框架,Github上有52.8K+star。 基于httprouter开发的Web框架。 中文文档齐全,简单易用的轻量级框架。

二、Gin框架安装

下载并安装Gin:

go get -u github.com/gin-gonic/gin

三、hello web

package main

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

func satHelloWeb(c *gin.Context)  {
	// c.Json:返回JSON格式的数据
	c.JSONP(http.StatusOK, gin.H{
		"message": "helloWeb",
	})

}
func main() {

	// 创建一个默认的路由引擎
	r := gin.Default()
	// GET:请求方式: /helloWeb:请求路径
	r.GET("/helloWeb", satHelloWeb)
	// 启动HTTP服务,默认在0.0.0.0:8080服务
	r.Run()
}

将上面的代码保存并编译执行,然后使用浏览器打开127.0.0.1:8080/hello就能看到一串JSON字符串。

image-20211109081655687

image-20211109081705440

四、RESTful API

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

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

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

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

只要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的开发。

五、RESTful API 接口

package main

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

func main() {
	r := gin.Default()

	// 获取书籍信息
	r.GET("/book", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"messages": "GET",
		})
	})

	// 添加书记信息
	r.POST("/book", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"messages": "POST",
		})
	})

	// 整理修改
	r.PUT("/book", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"messages": "PUT",
		})
	})

	// 部分修改
	r.PATCH("/book", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"messages": "PATCH",
		})

	})

	// 删除书籍
	r.DELETE("/book", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"messages": "DELETE",
		})

	})
	r.Run()
}

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

image-20211109083835230

image-20211109083855130

在当下的阶段,必将由程序员来主导,甚至比以往更甚。
原文地址:https://www.cnblogs.com/randysun/p/15626478.html