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()
}
相关推荐
ywf12154 小时前
Go基础之环境搭建
开发语言·后端·golang
好家伙VCC10 小时前
**CQRS模式实战:用Go语言构建高并发读写分离架构**在现代分布式系统中,随着业务复杂度的提升和用户量的增长,传统的单数据库模型逐
java·数据库·python·架构·golang
l1o3v1e4ding10 小时前
Java网站项目集成GO-FLY开源在线客服系统功能,集成IM即时通信
java·golang·开源
呆萌很11 小时前
【GO】创建包练习题
golang
@atweiwei13 小时前
基于Go语言构建轻量级微服务框架的设计与实现
开发语言·微服务·golang
回到原点的码农13 小时前
GO 快速升级Go版本
开发语言·redis·golang
ん贤13 小时前
AI 大模型落地系列|Eino ADK体系篇:你对 ChatModelAgent 有了解吗?
人工智能·golang·eino·chatmodelagent
迷藏49414 小时前
**发散创新:Go语言中基于上下文的优雅错误处理机制设计与实战**在现代后端开发中,**错误处理**早已不是简单
java·开发语言·后端·python·golang
weixin_4492900115 小时前
Python vs Go:优缺点对比
网络·python·golang