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":"系统错误"},后续代码不在执行?
context.Abort()