示例

gin Next()使用方法

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()会跳过当前中间件后续的逻辑,类似defer,最后再执行c.Next后面的逻辑//多个c.Next()谁在前面谁后执行,跟defer很像,类似先进后出的栈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(":8081")
}

命令行输出

[GIN-debug] Listening and serving HTTP on :8081
m1 start
m2 start
m3 start
hello world!!
m3 end
m2 end
m1 end
[GIN] 2021/03/26 - 12:40:40 |?[97;42m 200 ?[0m|      1.5781ms |       127.0.0.1 |?[97;44m GET     ?[0m "/"

go gin Next()方法相关推荐

  1. Gin 框架学习笔记(01)— 自定义结构体绑定表单、绑定URI、自定义log、自定义中间件、路由组、解析查询字符串、上传文件、使用HTTP方法

    要实现一个 API 服务器,首先要考虑两个方面:API 风格和媒体类型.Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON.XML 和 Protobuf.在 Go A ...

  2. postgreSQL源码分析——索引的建立与使用——GIN索引(1)

    2021SC@SDUSC 本篇博客主要讲解Gin索引的介绍和相关的组织结构 目录 GIN索引介绍 GIN扩展 实现扩展步骤 GIN索引组织结构 相关数据结构 GISTPageOpaqueData GI ...

  3. 【Gin框架】框架入门

    阅读目录 一.Gin 介绍 二.Gin 环境搭建 三.golang 程序的热加载 四.Gin 框架中的路由 4.1.路由概述 4.2.简单的路由配置 4.3.c.String().c.JSON().c ...

  4. Golang源码学习----gin框架简单阅读

    一.热加载go get github.com/pilu/fresh快速编译,省去了每次手动go run二.gin特点轻量级.运行速度快,性能.高效擅长API接口的高并发,项目规模不大,业务简单三.En ...

  5. gin框架返回json

    import ("github.com/gin-gonic/gin""net/http" )func main() {r := gin.Default()r.G ...

  6. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  7. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  8. gin ajax 获取请求参数,go的gin框架从请求中获取参数的方法

    前言: go语言的gin框架go里面比较好的一个web框架, github的start数超过了18000.可见此框架的可信度 如何获取请求中的参数 假如有这么一个请求: POST   /post/te ...

  9. gin c.Next()方法

    package mainimport ("fmt""github.com/gin-gonic/gin""net/http" )func ma ...

最新文章

  1. Java编译分类:前端编译和后端编译
  2. VS.NET 2005 SP1 安装注意
  3. 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等
  4. mysql存储过程数组字符串_Mysql通过存储过程分割字符串为数组
  5. 苹果新功能惹众怒,4000多家组织和个人签署公开信 敦促苹果放弃“儿童安全”功能...
  6. SQL Server误区30日谈-Day28-有关大容量事务日志恢复模式的误区
  7. 精通JavaScript+jQuery:100%动态网页设计密码 中文PDF扫描版
  8. 免费随机图片api接口
  9. android系统测试模式,Framework基础:手机如何进入meta测试模式
  10. 安卓手机内外SD卡互换
  11. 嵊州D5T1 鸡翅 chicken
  12. 魅族7.0系统最简单激活Xposed框架的经验
  13. 广告行业eCPM概念
  14. Css的字体样式属性大全
  15. 正则:匹配以某字符串开头或不以某字符串开头的字符串
  16. telnet协议的Wireshark抓包分析
  17. 科密指纹考勤机B329采集
  18. nodelist与HTMLCollection
  19. cocos2dx中CCTableView乱位问题歪解
  20. 安卓多媒体应用-通知

热门文章

  1. jquery换一批的写法
  2. backlog配置_关于backlog参数的疑惑
  3. UG二次开发GRIP设置真假体引用集
  4. 闪存数据库概念与技术
  5. UVa 3487 蜜汁建图
  6. ClickHouse 物化视图
  7. 职称英语计算机2018年,2018年职称英语考试时间预计
  8. 由{% if %} 导致的jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag
  9. LVM原理详解及实战
  10. Java(二):IDEA使用教程