示例

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. JSP实现网上招标系统
  2. couldn't register *** with the bootstrap server. Error: unknown error code.
  3. C++设计模式--命令模式(Command)
  4. 二维平面坐标系中,判断某点是否在正六边形内 | python 实现 + 数学推导(已知正六边形六个顶点坐标)
  5. 在win7物理机,使用vmware,3台centos7系统,分别部署httpd,php-fpm,mariadb
  6. 使用TortoiseSVN下载source force的源代码
  7. 大四学生发明文言文编程语言,脑洞新奇
  8. linux服务器一键可视化,安装宝塔教程
  9. 28335之GPIO输入
  10. 软件测试人员是选择大公司好,还是选择小公司更好
  11. .9图片报错Execution failed for task ':app:mergeDebugResources'. Crunching Cruncher scrollbar_thumb.9.p
  12. NEUQ ACM预备队训练-week5(图的基础存图和dfs)
  13. r语言提取cvs数据_r语言,csv数据,提取特定行
  14. 网络安全工程师需要学什么?零基础怎么从入门到精通,看这一篇就够了
  15. 在 LaTeX 中创建文档
  16. web scraper 爬取微博粉丝性别以及微博内容
  17. oracle数据linux中的位置,Oracle中执行计划的存储位置
  18. 职业发展--优势和性格测试
  19. 苏轼不知月亮上是何年何月 | Python计算出来了
  20. DVWA通关-SQL注入篇

热门文章

  1. java上传ftp 0kb_java FTPClient 上传文件 0kb 问题
  2. 超视频化到来,你能看见什么?
  3. int (*p)(int ,int )与int *p(int ,int)的区别
  4. Spark部分算子及使用
  5. 计算机科学与技术英译,计算机科学与技术外文翻译、中英对照、英汉互译.doc...
  6. 公开的免费API集锦
  7. mac 随航到ipad链接超时
  8. 弹窗与Log信息打印_Android Studio学习笔记(3)
  9. PS学习笔记——色彩基础和吸管工具
  10. css选择器—四大基本选择器