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()
}
相关推荐
嘿嘿4 小时前
使用 Gin 框架加载 HTML 模板:`LoadHTMLGlob` 和 `LoadHTMLFiles` 的比较与优化
后端·go·gin
脉动数据行情6 小时前
Go语言对接股票、黄金、外汇API实时数据教程
开发语言·后端·golang
q***71081 天前
【Golang】——Gin 框架中的表单处理与数据绑定
microsoft·golang·gin
q***72871 天前
Golang 构建学习
开发语言·学习·golang
资深web全栈开发1 天前
贪心算法套路解析
算法·贪心算法·golang
枫子有风1 天前
【go.sixue.work】2.2 面向对象:接口与多态
开发语言·后端·golang·xcode
天然玩家1 天前
【技术选型】Go后台框架选型
golang·gin·echo·fiber·fasthttp
小画家~2 天前
第二十八:golang Time.time 时间格式返回定义结构体
java·前端·golang
q***75602 天前
【Golang】——Gin 框架中间件详解:从基础到实战
中间件·golang·gin
资深web全栈开发3 天前
力扣2536子矩阵元素加1-差分数组解法详解
算法·leetcode·矩阵·golang·差分数组