为了账号安全,请及时绑定邮箱和手机立即绑定

有没有人遇到过这个问题哈!iris 怎样直接获取context跪求!

/ 猿问

有没有人遇到过这个问题哈!iris 怎样直接获取context跪求!

蛊毒传说 2019-08-14 20:43:52
不用接口,不用结构体,在单纯的方法中,怎样获取iris.Context?正常是这么写的
functest(ctxiris.Context){
ctx.URLParam("name")
}
但如果不给方法传参数应该怎么写?
试过下面的,报错。难道要把context作为全局变量去调用吗?
functest(){
varctxiris.Context
ctx.URLParam("name")
}
                    
查看完整描述

2 回答

?
芜湖不芜
ctxiris.Context这个对象是在HTTPServer接受到请求后构建的,之后解析你注册的路由找到路由对应的方法,并传入参数。所有不存在单纯在方法中提取这个参数。
                            
查看完整回答
反对 回复 6天前
?
守着星空守着你
一般像这种不太建议你这么做,要么直接传参数进去,要么使用context.Context包携带值进去
typectxKeybyte
varirisCtxKeyctxKey
funcTestContext(ctxcontext.Context){
ifictx,ok:=ctx.Value(irisCtxKey).(*iris.Context);ok{
val:=ictx.URLParam("k")
}
}
funcmain(){
ctx:=context.Background()
ctx=context.WithValue("k1",1)
ctx=context.WithValue(irisCtxKey,irisCtx)//从请求中来
TestContext(ctx)
}
                            
查看完整回答
反对 回复 6天前

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信