分类:Gin框架
-
Gin源码分析 – 参数校验之Validator库
前言 Gin框架使用 github.com/go-playground/validator进行参数校验,只需要在定义结构体时使用binding或validate tag标识相关校验…
-
Gin源码分析 – Context之FormFile
1 介绍 本文介绍Gin提供的上传文件的相关方法以及相关的源码,在Context中提供了FormFile用于获取上传文件的基本信息,提供了SaveUploadedFile用于实现文…
-
Gin源码分析 – Context之PostForm
1 介绍 对于表单数据的获取Gin也提供了一组方法,本文将对这组方法的使用以及源码进行详细的分析,下面的例子模拟一个最简单的登陆。 package main import ( “n…
-
Gin源码分析 – Context之渲染(JSON)
1 介绍 首先用一个例子,介绍一下相关函数的用法,然后通过源码分析一下具体的实现方法。 package main import ( “net/http” “github.com/g…
-
Gin源码分析 – Context之Bind
1 介绍 本小节主要介绍上下文的Bind相关函数。Bind函数的主要目的是自动提取HTTP请求中的各种参数到结构体中。下面给出了一个例子,该列子中调用Context.ShouldB…
-
Gin源码分析 – Context之Query
1 介绍 Gin中可以方便的获取URL中的查询参数,或者也可以简称为URL参数,此类参数以?为起点,后面的k=v&k1=v1&k2=v2这样的字符串就是查询参数,本…
-
Gin源码分析 – Context功能概述
1 介绍 从前面的介绍可以了解到整个Gin由Engine、Route、Context等几个主要组成。Context是Gin框架中非常重要的一点,它允许我们在中间件间共享变量,管理整…
-
Gin源码分析 – Engine结构体
Engine源码结构体 当我们在使用Gin框架来创建一个HTTP服务时,首先我们需要初始化一个实例,在Engine结构体中就包含了实例的一些基本属性和实例化的一些方法。 Engin…
-
Gin源码分析 – net/http的大概流程
1 gin框架预览 上图大概是gin里面比较重要的模块. 从gin的官方第一个demo入手. package main import “github.com/gin-gonic/g…
-
Gin源码分析 – Radix树
Radix树 树(Trie) 是计算机科学领域的专有名词 ,有时候也是用 Tree 来替代,这两者基本是同义词。 换句话说,树是有组织的数据结构,用来存储经常动态变化的数据,单条数…
-
Gin源码分析 – HttpRouter路由原理
1、Trie树和Radix树的区别 1.1 Trie树(前缀树、字典树) Trie树特点 根节点不包含字符,除根节点外每一个节点都只包含一个字符; 从根节点到某一节点,路径上经过的…
-
Gin源码分析 – 程序运行流程简介
介绍 gin 框架基于 httprouter 实现最重要的路由模块,采用Radix树数据结构来存储路由与handle方法的映射,也是框架高性能的原因。 Engine:容器对象,整个…
-
Gin源码分析 – 中间件 – JWT认证机制
Github地址:https://github.com/golang-jwt/jwt 文档地址:https://pkg.go.dev/github.com/golang-jwt/j…
-
Gin源码分析 – 中间件 – Gzip
1 介绍 本文介绍中间件Gzip的使用以及源码实现。 2 使用 首先下载该中间件 go get github.com/gin-contrib/gzip 编写如下的代码 packag…
-
Gin源码分析 – 中间件 – Recovery
1 介绍 Recovery中间件,能够捕获HTTP请求处理过程中产生的所有panic,并返回500错误。 2 使用 下面给出两个例子进行说明。第一个例子没有使用Recovery中间…
-
Gin源码分析 – 中间件 – Basic Auth
1 概述 本文将开始对Gin内置的中间件BasicAuth的使用以及内部实现进行分析,按照惯例首先给出一个使用BasicAuth的例子。 package main import (…
-
Gin源码分析 – 中间件 – Logger
1 介绍 本文将对Gin的内置中间件Logger进行分析,Gin在创建默认的Enginer时将添加到全局中间件中,代码如下。 // Default returns an Engin…
-
Gin源码分析 – 中间件 – 源码分析
1 介绍 上一篇文章对中间件的使用方法以及如何开发中间件进行了简要的概述,本文主要对Gin的中间件的相关代码进行分析,从而对中间件有更深入的理解。 2 数据结构 2.1 Route…
-
Gin源码分析 – 中间件 – 介绍及使用
1 介绍 中间件是Gin的精髓。一个个中间件组成一条中间件链,对HTTP Request请求进行拦截处理,实现了代码的解耦和分离,每个中间件只需要处理自己需要处理的业务。今天我们就…