2018-11-11 15:08
@JFinal 已经解决,查看了你之前的解释:
------------------------
JFinal 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()
-----------------------
然后研究了一下,通过重写前台js解决了getRawData()数据的问题。
有空我分享一下~
2018-11-11 13:59
@JFinal getRawData()同样会抛出IllegalStateException异常,是因为用jquery的ajax提交的原因吗?
2018-11-09 19:51
@JFinal 使用 String jsonString = HttpKit.readData(getRequest()); 获取前台json对象报错:java.lang.IllegalStateException: STREAMED
at org.eclipse.jetty.server.Request.getReader(Request.java:1162)
前台是jquery的ajax的Post,jfinal版本3.5
2018-11-06 20:49
@JFinal 检查了一下,是有几个小朋友写的Controller中的方法带参了。
解决方法是:在IDEA的settings里面的java compiler中,除了之前给“Additional command line parameters”里添加-parameters参数,这次强行指定了“Project bytecode version”为8(之前未指定),重新启动就会重新编译,warn消失。
2018-11-06 15:35
@JFinal [WARN]-[Thread: main]-[com.jfinal.core.paragetter.ParaProcessorBuilder.createParaGetter()]: you should add compiler flag -parameters to support parameter auto binding
我突然发现了4个warn,刚升级好Jfinal和club没有这些warn;在IDEA中的compiler选项中加了-parameters参数也无效,检查所有BaseController方法都已经注释了@NoAction