ApiConfigKit.getApiConfig()报错

代码中已经调用了ApiConfigKit.setThreadLocalApiConfig(apiConfig)这个方法 但是提示信息还是说没有调用

报错.png

调用:

代码.png

评论区

JFinal

2016-11-25 10:46

在首页下载 jfinal weixin 1.8 版本使用,git 上的后来有一些人提交过代码,还未发布

Nicolas_Husky

2016-11-25 10:50

@JFinal 就是1.8的

JFinal

2016-11-25 10:55

@Nicolas_Husky 这个 ApiConfigKit.setThreadLocalApiConfig 建议使用官方提供的拦截器自动设置,你的 Controller 继承一下 ApiController 或者 MsgController 即可

如果你要自行去调用这行代码,需要确保是在出异常地点的使用之前,而且还要确保在 finally 块中移除它,以免出现内存泄漏

JFinal

2016-11-25 10:56

总之一句话,继承 ApiController 或者 MsgController 会自动搞定这个事,这两个 controller 上已经使用过拦截器,并且你要确保没有使用 @Clear 清除过官方搞定这个事的拦截器

JFinal

2016-11-25 10:57

如果你继承的 ApiController 注意有没有自己声明的 class 级拦截器覆盖掉了父类的拦截器

Nicolas_Husky

2016-11-25 13:03

@JFinal 谢谢波波的回答 我这边用的controller是用的你们demo中的WeixinMsgController 看了一下源码 知道你的意思了 但是我看到那个拦截器中有ApiConfigKit.setThreadLocalApiConfig(apiConfig)这样的操作 但是这个apiConfig值是从我的controller中的getApiConfig()这个方法取得 但是这个方法是覆盖的父类的抽象方法 那这个方法里面做初始化apiConfig的操作并返回apiConfig就可以了么?

JFinal

2016-11-25 16:01

@Nicolas_Husky 父类中的拦截器会回调你的 getApiConfig(),你只要 return 回去正确的 ApiConfig 对象即可

Nicolas_Husky

2016-11-25 16:27

@JFinal 恩 代码表现出来的是这个意思 谢谢啦

热门反馈

扫码入社