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()
}
相关推荐
源代码•宸8 小时前
goframe框架签到系统项目(BITFIELD 命令详解、Redis Key 设计、goframe 框架教程、安装MySQL)
开发语言·数据库·经验分享·redis·后端·mysql·golang
普通网友12 小时前
Bash语言的图算法
开发语言·后端·golang
雨岚霏12 小时前
Bash语言的数据库编程
开发语言·后端·golang
bybitq15 小时前
Go函数闭包实战-复用函数
ios·golang·xcode
ChineHe17 小时前
Gin框架基础篇002_获取/绑定请求参数
后端·golang·gin
码界奇点19 小时前
基于Gin+Vue的前后端分离权限管理系统设计与实现
前端·vue.js·车载系统·毕业设计·gin·源代码管理
天下一般19 小时前
go语言设计模式<一>模板方法
开发语言·设计模式·golang
码界奇点20 小时前
基于Go语言的AI接口管理与分发系统设计与实现
开发语言·人工智能·ai·golang·毕业设计·go语言·源代码管理
bybitq20 小时前
深入浅出 Go 流程控制:从循环到延迟执行
开发语言·后端·golang
weixin_4624462321 小时前
【实践原创】docker inspect --format 详解:Go 模板在 Docker 中的应用
docker·容器·golang