JFinal getParaToxx系列方法 改进建议

JFinal 小鹏 2022年5月15日 01:20 64 查看原文

对于 getParaToLong、getParaToXxx系列,建议如果出现转换失败建议处理为 Http 400 BadRequest 的异常,而不是404啊。 private Long toLong(String value, Long defaultValue) { try { if (value == null || "".equals(value.trim())) return defaultValue; value = value.trim(); if (value.startsWith("N") || value.startsWith("n")) return -Long.parseLong(value.substring(1)); return Long.parseLong(value); } catch (Exception e) { throw new ActionException(404, renderFactory.getErrorRender(404), "Can not parse the parameter \"" + value + "\" to Long value."); } }

回答
5 条回答

10多分钟不错了,有些人一天估计都找不出问题所在。好多菜鸟...

@RocY 你的建议已采纳: https://git.oschina.net/jfinal/jfinal/blob/master/src/main/java/com/jfinal/core/Controller.java

感谢你的支持

@jfinal 我的建议是 400,400 我就知道是请求参数的问题,而 404 我得调试代码查找原因(还好 JFinal 的代码层套的没有那么深,不然调试都会花上十分钟)。 这个 404,我尝试了查看前端调用、查看控制台输出、查看JFinalConfig子类的400错误页面的配置、下了断点在getParaToLong()方法之上(这个方法尝试了调试了3次,按F6 StepOver 就 404 了,最后才决定 F5 进去看),前前后后已经浪费了我的 10 多分钟。

400 BadRequest 貌似也合理, urlPara 出现错误,也可以认为是 url 不正确, 404 也是可以的,这个问题值得再思考

这个提示让我转了几个圈圈,最后去调试看代码,原来这里有个坑。

热门问题
相关推荐
推荐分类