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()
}
相关推荐
云和数据.ChenGuang7 小时前
Golang AI 工程师路线图:从入门到实战
开发语言·人工智能·后端·golang
报错小能手9 小时前
内存管理 垃圾回收面试题
golang
tachibana21 天前
Go 语言里的 Context 是什么?
开发语言·后端·golang·go·语言
茉莉玫瑰花茶1 天前
GO [ 数据格式 ]
服务器·网络·算法·golang
土豆.exe1 天前
chunked 编码的行尾:Go、h11 与 Tomcat 各错在哪一处
开发语言·网络安全·golang·tomcat
茉莉玫瑰花茶2 天前
GO [ 标准库 ]
开发语言·后端·golang
ly76893 天前
PostgreSQL JSONB 在 Spring Boot 中的读写边界:从 JDBC 类型映射到 GIN 索引失效
spring boot·postgresql·gin·jsonb·pgjdbc·gin 索引
紫洋葱hh3 天前
Go 入门基础:类型、变量与运算符
开发语言·后端·ai·golang
codeejun3 天前
每日一Go·MySQL-7、MySQL 核心原理全景图谱
开发语言·mysql·golang
acd120093 天前
Go 里 err 被不经意覆盖的几个现场
开发语言·后端·golang