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()
}
相关推荐
初心未改HD17 分钟前
Go语言变量与数据类型完全指南
开发语言·golang
初心未改HD18 分钟前
Go语言环境搭建与第一个程序详解
开发语言·后端·golang
keep intensify30 分钟前
MIT 6.824 lab3B/C
分布式·后端·golang
geovindu15 小时前
go: Proxy Pattern
开发语言·后端·设计模式·golang·代理模式
古城小栈16 小时前
hey 你好 “压测”
http·golang·开源
hhb_61816 小时前
Go高性能并发编程实战与底层原理剖析
运维·网络·golang
威迪斯特18 小时前
GoFr框架:加速微服务开发的Go语言利器
开发语言·后端·微服务·架构·golang·命令行框架·gofr框架
止语Lab21 小时前
Go 的测试框架不想让你 TDD
开发语言·golang·tdd
pixcarp1 天前
Nginx实战部署与踩坑总结 附带详细配置教程
服务器·前端·后端·nginx·golang
威迪斯特1 天前
Cobra框架:Go语言命令行开发的现代化利器
开发语言·前端·后端·golang·cobra·交互模型·命令行框架