gin框架 | 青训营笔记

75 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天.

gin简介

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

gin框架的安装

go get github.com/gin-gonic/gin

gin框架的使用

package main

import (
	"net/http"

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

func main() {
	r := gin.Default()
	//配置路由
	r.GET("/", func(c *gin.Context) {
		c.String(http.StatusOK, "值:%v", "你好gin")
	})
	r.Run(":8080") //启动一个服务
}

屏幕截图 2023-02-03 000752.png 示例代码跑起来大概是这个效果

约定

REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。 简单来说,REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作。

GET用来获取资源

POST用来新建资源

PUT用来更新资源

DELETE用来删除资源。 只要API程序遵循了REST风格,那就可以称其为RESTful API。目前在前后端分离的架构中,前后端基本都是通过RESTful API来进行交互。

例如,我们现在要编写一个管理书籍的系统,我们可以查询对一本书进行查询、创建、更新和删除等操作,我们在编写程序的时候就要设计客户端浏览器与我们Web服务端交互的方式和路径。

gin获取参数的方法

第一种是使用Query来获取

func Login(c *gin.Context) {
	username := c.Query("username")
	password := c.Query("password")
    }

第二种是使用form来获取

func Login(c *gin.Context) {
	username := c.PostForm("username")
	password := c.PostForm("password")
}

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