gin自定义中间件

server/2024/11/12 6:16:18/

gin自定义中间件

    • 代码

代码

go">package mainimport ("fmt""github.com/gin-gonic/gin""net/http""time"
)// MyLogger 自定义中间件:方式二:通过定义函数,返回gin.HandlerFunc类型的函数,定义中间件
// type HandlerFunc func(*Context)
func MyLogger() gin.HandlerFunc {return func(c *gin.Context) {fmt.Println("自定义中间件执行的逻辑")// 执行主体流程c.Next()}
}func main() {/*gin自定义中间件*/r := gin.Default()// 自定义中间件,在gin的全局使用,// 自定义中间件:方式一:通过匿名函数定义中间件r.Use(func(c *gin.Context) {/*	如:统计请求执行时间 */// 获取当前时间t := time.Now()// 执行主体流程c.Next()end := time.Since(t)fmt.Printf("耗时:%v\n", end)// 获取响应的状态status := c.Writer.Status()fmt.Println("状态:", status)})//	配置请求路由r.GET("/ping", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"data": "pong",})})/*配置指定路由使用的中间件*/{// 配置define组的路由defineGroup := r.Group("/define")// 在组路由中使用自定义中间件(非全局),不会影响到其他路由,注意需要在配置组内路由前,进行中间件的配置,否则不会生效defineGroup.Use(MyLogger())// 配置组内路由defineGroup.GET("/haha", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"data": "haha",})})}//	 运行gin_ = r.Run(":8082")
}

http://www.ppmy.cn/server/38168.html

相关文章

监控工具对比分析报告:Zabbix与Prometheus

引言 在现代IT运营中,监控系统发挥着至关重要的作用,它们帮助组织监控和管理其技术基础设施和应用程序的性能和健康状况。本报告将对比分析两种流行的监控工具——Zabbix和Prometheus,这两个工具虽都广泛用于IT基础设施的监控,但…

母婴用品网站设计与实现 java母婴用品网站源代码+论文+ppt

母婴用品网站设计与实现:基于JSP与MySQL的实践探索 引言 随着信息化时代的到来,母婴用品网站作为信息获取和商品交易的平台,其开发与设计成为了一个迫切的课题。本文将探讨如何利用JSP技术和MySQL数据库构建一个功能完备、用户友好的母婴用品网站。 系统概述 背景与必要…

用户管理中心——数据库设计用户注册逻辑设计

用户管理中心——数据库设计&用户注册逻辑设计 规整项目目录1. 数据库自动生成器的使用实现基本的数据库操作(操作user表) 2. 注册逻辑的设计(1) 写注册逻辑(2) 实现(3) 测试代码 3. 遇到的问题 规整项目目录 utils–存放工具类,比如加密…

uniapp引入vant组件库

在 UniApp 中引入 Vant 组件库的完整步骤通常如下: 安装 Vant: 首先,你需要通过 npm 或 yarn 安装 Vant。打开项目的根目录,然后在命令行中执行以下命令: 使用 npm: npm install vant 或者使用 yarn&…

雪深监测站解析-云境天合

TH-XS2雪深监测站是一种用于监测雪深的设备,它们分布在全国各地的关键区域,如高速公路、铁路沿线、机场等重要交通节点,以及山区、林区等易发生雪灾的地区。这些监测站就像是气象工作者的“眼睛”,时刻关注着雪情的变化&#xff0…

Android selinux权限

一.SE 概述 SELinux 是由美国NSA(国安局)和 SCC 开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。从 fedora core 2开始, 2.6内核的版本都支持SELinux。 在 SELinux 出现之前&#…

SpringMVC 中的常用注解和用法

Component:通用的组件注解,标识一个类为 Spring 组件,会被自动扫描并创建 Bean。(工具类)Repository:表示持久层的注解,用于标识数据访问组件。(和数据交互)Service:表示…

PyQt 入门

Qt hello - 专注于Qt的技术分享平台 Python体系下GUI框架也多了去了,PyQt算是比较受欢迎的一个。如果对Qt框架熟悉,那掌握这套框架是很简单的。 一,安装 1.PyQt5 pip3 install PyQt5 2.Designer UI工具 pip3 install PyQt5-tools 3.UI…