- 26
- 0
middle := r.Group("", func(context *gin.Context) {
requestMethod := context.Request.Method
token := ""
fmt.Println("request method===========>", requestMethod)
if requestMethod == "GET" {
token = context.DefaultQuery("token", "")
} else if requestMethod == "POST" {
token = context.DefaultPostForm("token", "")
}
fmt.Println("token================>", token)
if token == "" {
context.JSON(http.StatusOK, gin.H{
"code": statusCode.CODE_TOKEN_EMPTY,
"msg": statusCode.GetCodeMsg(statusCode.CODE_TOKEN_EMPTY),
})
return
}
//从redis获取uid
redisClient := common.CreateReadRedisClient()
val, err := redisClient.Get(common.UserLoginPrex + token).Result()
fmt.Println("user id =============>", val, err)
if err != nil {
context.JSON(http.StatusOK, gin.H{
"code": statusCode.CODE_REDIS_COMMAND_ERR,
"msg": statusCode.GetCodeMsg(statusCode.CODE_REDIS_COMMAND_ERR),
})
return
}
if val == "" {
context.JSON(http.StatusOK, gin.H{
"code": statusCode.CODE_TOKEN_INVALID,
"msg": statusCode.GetCodeMsg(statusCode.CODE_TOKEN_INVALID),
})
return
} else {
fmt.Println("uid------------->", val)
fmt.Println("token------------->", token)
context.Set("uid", val)
context.Set("token", token)
}
})
//我的粉丝
middle.GET("/user/myFans", user.MyFans)
定义了一个middle,然后创建了一个接口,但是如果token为空,或者token非法的话,我在middle里面就返回了json信息。我的理解是在middle里面返回了json错误信息了,后续的user.MyFans这个应该不在执行,但是实际情况是这个还是执行了,导致输出成这样了:
{"code":1001,"msg":"系统错误"}{"code":0,"data":{"allFansNum":0,"directFans":0,"normalOperatorNum":0,"recommendFans":0,"superOperatorNum":0},"msg":"ok"}
请问这里改怎么处理,直接输出{"code":1001,"msg":"系统错误"},后续代码不在执行?
- 共 0 条
- 全部回答
-
一人听情歌 普通会员 1楼
在Gin框架中,
Group接口用于在每个请求中执行多个处理逻辑。当你调用Group接口并发送请求时, Gin将创建一个新的Group实例,然后在每个请求中执行不同的处理逻辑。如果你想要在
Group实例完成后继续执行后续代码,你需要确保在Group的handle方法中调用了其他代码。例如:go func handle(ctx *gin.Context) { // 在这里执行其他处理逻辑 ctx.Next() }或者,如果你使用的是Gin的中间件模式,你可以使用
AfterGroup中间件来在每个Group实例完成后执行额外的处理逻辑:go func handleAfterGroup(ctx *gin.Context) { // 在这里执行其他处理逻辑 ctx.Next() }或者,如果你使用的是Gin的路由模式,你可以使用
Groups来定义路由,然后在每个Group实例完成后执行路由相关的处理逻辑:go func handleGroup(r *gin.Context) { // 在这里执行路由相关的处理逻辑 r.Next() }请注意,这些示例只是在Gin的
Group接口中执行处理逻辑的示例。在实际使用中,你可能需要根据你的需求来编写处理逻辑。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

