package mainimport ("fmt""github.com/gin-gonic/gin""net/http"
)func main() {r := gin.Default()m1 := func(c *gin.Context) {fmt.Println("m1 start")//c.Next()会跳过当前中间件,该方法前面的先执行,然后是业务逻辑,后面的后执行c.Next后面的逻辑//多个c.Next()谁在前面谁后执行,比如洋葱类型c.Next()fmt.Println("m1 end")}m2 := func(c *gin.Context) {fmt.Println("m2 start")//该方法会阻止业务逻辑以及该中间件后面中间件执行,但是不会阻止该中间件后面的逻辑执行包括c.Next()//c.Abort()c.Next()fmt.Println("m2 end")}m3 := func(c *gin.Context) {fmt.Println("m3 start")c.Next()fmt.Println("m3 end")}r.Use(m1, m2, m3)r.GET("/", func(context *gin.Context) {context.Next()context.JSON(http.StatusOK, gin.H{"message": "demo",})fmt.Println("hello world!!")})r.Run(":9090")
}
//[GIN-debug] Listening and serving HTTP on :9090
//m1 start
//m2 start
//m3 start
//hello world!!
//m3 end
//m2 end
//m1 end

gin c.Next()方法相关推荐

  1. go gin Next()方法

    示例 gin Next()使用方法 package mainimport ("fmt""github.com/gin-gonic/gin""net/h ...

  2. Golang 微框架 Gin 简介

    Golang 微框架 Gin 简介 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框 ...

  3. go语言学习(二)——Gin 框架简介

    GoWeb开发有很多框架,如Beego.Gin.Revel.Echo.IRis等,学习框架可以快速做开发,对比常见goweb框架,通过其github的活跃度,维护的team,生产环境中的使用率以及师兄 ...

  4. PostgreSQL GIN multi-key search 优化

    标签 PostgreSQL , gin , in , or , multi key , right link scan , skip scan 背景 PostgreSQL中,有一种GIN索引,被广泛应 ...

  5. gin context和官方context_Gin框架系列01:极速上手

    Gin是什么? Gin是Go语言编写的web框架,具备中间件.崩溃处理.JSON验证.内置渲染等多种功能. 准备工作 本系列演示所有代码都在Github中,感兴趣的同学可以自行查阅,欢迎大家一起完善. ...

  6. Go语言(Golang)的Web框架比较:gin VS echo

    Go语言(Golang)的web框架比较之:gin vs echo 由 butaixianran 在 2016-01-23 22:00 发布 35423 次点击 原文发在:https://771dia ...

  7. [转]Go语言(Golang)的Web框架比较:gin VS echo

    Go语言(Golang)的web框架比较之:gin vs echo 由 butaixianran 在 2016-01-23 22:00 发布 35423 次点击 原文发在:https://771dia ...

  8. 前缀树——以Gin路由为例

    前缀树是父节点是子节点前缀的N叉树. 其主要性质是 根节点不包括字符 每个节点的子节点字符不同 节点对应的字符串为从根节点到该节点路径上字符的组合 在gin中也存在着非常巧妙运用前缀树进行路由匹配的结 ...

  9. 全局gin对象如何在子模块中修改Logger

    说明 gin是通过中间件写日志, 日志对象是中间件的闭包变量.在use加载中间件完成之后,无法修改日志对象. 该如何办呢? 一般方法 以下是设置gin日志的方法 #方法一 gin.DefaultWri ...

最新文章

  1. Python局域网socket无法连接的问题解决
  2. pthread 立即停止线程_线程取消(pthread_cancel)
  3. php css去除h1样式,HTML中怎么设置h1的字体样式你知道吗?
  4. python更改数据框指定位置的数据_python – 更改数据框中多个loc的最快方法
  5. kafka生产消费原理笔记
  6. 分布式压测系列之Jmeter4.0
  7. 电脑投屏电视怎么设置_手机投屏怎么设置全屏
  8. log 日志 php tp5,TP5自定义日志记录到文件方法
  9. react native 项目使用 expo 二维码扫描失败
  10. amd显卡测试帧数显示软件,NVIDIA发布帧数显示及显卡基准测试应用FrameView
  11. 罗马盘,大力盘,大圣盘等网盘资源搜索免费下载资源教程
  12. wps里为什么没有华文楷体_是谁动了我的字体?为什么Word或PPT换台电脑打开字体就变了呢?...
  13. 2022软考高项十大领域知识整理(四)-人力资源管理、干系人管理、采购管理
  14. 谷歌浏览器无法安装扩展程序 – chrome无法添加crx插件的解决方法
  15. java禅道_使用Java+Excel统计禅道上问题处理情况
  16. 电动汽车基于Origin的数据分析
  17. c# 微信公众号开发之token验证第三方服务器
  18. 基于C语言的网络编程的项目
  19. hypermill五轴再加工_技术 | 凭CAM软件玩转五轴加工,你可能差了这一步
  20. 50个CSS编辑工具

热门文章

  1. Java关键字——final的用法
  2. python传递变量_在Python中传递变量
  3. dbml mysql_MySQL数据库笔记二:数据类型及数据库操作
  4. Python自动化部署环境
  5. (转)CString工作原理和常见问题分析
  6. 常用API2 正则表达式
  7. vue_ form表单 v-model
  8. 浅悉软考网络工程师考试出题风格变化
  9. 【答阿里寒冬面试题】呵呵,大神的面试题就是好!
  10. 【源码阅读】dbutil包中BasicRowProcessor内部类CaseInsensiti...