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()
}
相关推荐
互联网中的一颗神经元7 小时前
10. Large 对象分配:直接路径
开发语言·golang
microrain9 小时前
从关系库硬扛到专业时序引擎:SagooIoT时序数据存储的架构取舍
物联网·golang·开源·sagooiot
Vect__11 小时前
channel 底层剖析
golang
李燚14 小时前
数据库迁移不翻车:golang-migrate 实战,143 个 DDL 有序执行(第97篇-E83)
golang·agent·multiagent·migrate·eino·subagent·deepflux
念何架构之路15 小时前
Gin内置中间件详解
中间件·gin
运维开发笔记16 小时前
7.1 Go Map 基础
golang
运维开发笔记17 小时前
7.2 Go Map 进阶
golang
西瓜很甜哟1 天前
golang每日十题第2期
golang
程序员小八7771 天前
Go 语言特性
开发语言·后端·golang
X1A0RAN1 天前
pytest 动态报告:数据可视化篇 —— 用 Golang + Echo 打造自动化测试任务可视化平台
信息可视化·golang·pytest