2018-10-14 21:18
@maxwade getRawData() 多次获取数据是不浪费性能的,因为第一次获取时就将值存放到 Controller.rawData 属性中了
多次解析 json 是浪费性能了
2018-10-14 14:48
当客户端通过一些第三方 http 工具发送数据,并将数据放在 body 中时可以使用 getRaData()
例如,客户端通过 OkHttp 或者 Http client 这类第三方发送 json 或者 XML 时就可以:
String jsonStr = getRawData();
User user = FastJson.getJson().parse(jsonStr, User.class);
Ret ret = userService.justDoIt(user);
renderJson(ret);
如果客户端的数据是通过普通的 html form 表单提交,或者通过 javascript 表单提交或者 ajax 发来的请求,就不能使用 getRawData()
2018-10-14 10:21
@10000 由于 jfinal 3.5 添加了 action 带参功能,原本那些带参的 public 方法在升级到 jfinal 3.5 以后变成了 action,这时候就可以通过 @NotAction 很方便去除这些 action 了
2018-10-14 10:16
关键在于配置好: ApiConfigKit.putApiConfig(apiConfig), 否则一定会报 NullPointerException
注意看文档: https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE
此外,jfinal-weixin 项目中本身就包含了 demo ,照抄后修改下配置即可:
https://gitee.com/jfinal/jfinal-weixin/tree/master/src/main/java/com/jfinal/weixin/demo
2018-10-12 17:47
我再稍微延展一下,为了提升性能以及简洁性,jfinal 的注入目前只针对当前类,而不会注入当前类的父类中的属性
如果确实有对父类注入的需求,建议使用:
XxxService service = Aop.get(XxxService.class);
如上所示,Aop 这个工具类可以在任何地方创建并做注入动作,如果还是不满足这样来做,可以通过继承 AopFactory 这个类,覆盖掉其中的 inject 方法,将其中只针对当前类注入的 getDeclaredFields() 再添加一个针对父类字段的获取即可
一般使用前面建议的 Aop.get(...) 就好,因为绝大部分情况都是注入当前类,而不对父类进行注入