首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
setResolveJsonRequest 如何异常捕获
fangjunai
2022-05-09 10:49
jfinal 5.0增加了 me.setResolveJsonRequest(true); 功能,
如果客户端提交过来的非法字符比如: {"1"}
如何异常捕获处理?
项目:
JFinal
3
3
评论区
杜福忠
2022-05-09 11:41
me.setJsonRequestFactory((s, httpServletRequest) -> {
try {
return new JsonRequest(s, httpServletRequest);
}catch (JSONException e){
//这里是拦截的异常 e.getMessage()
throw e;
}
});
回复
fangjunai
2022-05-09 12:14
@杜福忠
谢谢, 我用 Handler .
回复
杜福忠
2022-05-09 14:34
@fangjunai
Handler咋处理?提前解析一次?还是覆写ActionHandler?
回复
zzutligang
2022-05-09 15:09
@杜福忠
@fangjunai
还是杜总的解决方法最科学!
回复
fangjunai
2022-05-09 15:44
@杜福忠
之前用Handler 提前解析一次, 后来发现 HttpKit.readData只取一次数据,后来换你刚才那种.
回复
fangjunai
2022-05-09 15:59
@杜福忠
当出现异常时如何 renderJson(Ret.fail())? 拦截器也拦不住.
回复
杜福忠
2022-05-09 16:17
@fangjunai
JF支持配置了 me.setErrorJsonContent(500, Okv.of("", "").toJson());
回复
杜福忠
2022-05-09 16:19
@fangjunai
https://gitee.com/-/ide/project/jfinal/jfinal/edit/master/-/src/main/java/com/jfinal/render/ErrorRender.java
回复
fangjunai
2022-05-09 16:20
@杜福忠
那是不是所有的500错误多报一样的错误了?
回复
杜福忠
2022-05-09 16:28
@fangjunai
那就自定义提示了,比如:
me.setJsonRequestFactory((s, httpServletRequest) -> {
try {
return new JsonRequest(s, httpServletRequest);
}catch (JSONException e){
throw new ActionException(500, Okv.of("msg", "JSON格式不正确").toJson());
}
});
回复
fangjunai
2022-05-09 16:39
@杜福忠
可以了,谢谢.
回复
发送
我要反馈
热门反馈
扫码入社
try {
return new JsonRequest(s, httpServletRequest);
}catch (JSONException e){
//这里是拦截的异常 e.getMessage()
throw e;
}
});