Golang gin框架中间件c.JSON返回结果后终止返回

gin框架中间件c.JSON返回结果后还是会继续执行之后的方法,我们可以用c.Abort()来终止后续的处理

go 复制代码
func MiddlewareFunction(c *gin.Context) {
    // 假设有某种条件下需要返回错误
    if someCondition {
        c.JSON(http.StatusBadRequest, gin.H{"error": "some error message"})
        c.Abort() // 终止后续处理
        return
    }
 
    // 如果没有错误,则继续后续处理
    c.Next() // 继续执行其他的middleware和handlers
}
 
func main() {
    r := gin.Default()
 
    // 使用MiddlewareFunction
    r.Use(MiddlewareFunction)
 
    // 其他的handlers
    r.GET("/", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{"message": "success"})
    })
 
    // 启动服务器
    r.Run()
}
相关推荐
Clown953 小时前
Go语言爬虫系列教程(一) 爬虫基础入门
开发语言·爬虫·golang
每天一个秃顶小技巧15 小时前
02.Golang 切片(slice)源码分析(一、定义与基础操作实现)
开发语言·后端·python·golang
恋喵大鲤鱼15 小时前
Golang 空结构体特性与用法
golang·空结构体
q5673152319 小时前
Go语言多线程爬虫与代理IP反爬
开发语言·爬虫·tcp/ip·golang
Chandler2419 小时前
Go语言即时通讯系统 开发日志day1
开发语言·后端·golang
神奇侠202421 小时前
快速开发-基于gin的中间件web项目开发
中间件·gin
李匠20241 天前
C++GO语言微服务基础技术②
开发语言·c++·微服务·golang
BUG制造机.1 天前
Go 语言 slice(切片) 的使用
开发语言·后端·golang
Go Dgg1 天前
Go语言实现豆瓣电影Top250爬虫
开发语言·爬虫·golang
你怎么知道我是队长1 天前
Go语言标识符
后端·golang