起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3041|回复: 4

[分享] 让baas后台返回的错误提示看得懂些

[复制链接]

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-11-4 16:32:22 | 显示全部楼层 |阅读模式
本帖最后由 qldsrx 于 2016-11-4 16:35 编辑

x5提倡以异常形式返回操作过程中的错误,不要自行封装,bex5里面是做了一些处理的,所以异常能在前台看得懂,可是wex5就草草了事,返回一个用户根本无法读懂的异常形式,原始错误根本看不到,只告诉用户执行了xx出错了,后面就没内容了。因此我个人做了下baas源码修改,让这部分错误可以在前台看得到原始错误信息,过滤一切人为添加的多余信息,只显示最关键的,这样,你自己的代码里如果想要抛出异常,那么你给的信息也可以在浏览器上正常显示了。
先找到源码文件,在source下面有压缩包,解压即可,然后自己装个eclipse,加载这个项目,不能用studio来加载,会报错,提示已经存在相同名称的项目。
然后找到com.justep.baas.servlet.BaasServlet.java,修改里面函数execService的异常处理部分,改为如下即可(之前有3部分的catch,全部删除,改为这一个即可):
  1.                 } catch (Throwable e) {
  2.                         e.printStackTrace();
  3.                         Throwable e_tmp = e.getCause();
  4.                         while (e_tmp != null) {
  5.                                 e = e_tmp;
  6.                                 e_tmp = e.getCause();
  7.                         }
  8.                         String message = e.getMessage();
  9.                         if(message == null || message.length()==0)
  10.                                 message = "执行Action:"+URI+"失败";
  11.                         throw new ServletException(message, null);
  12.                 }
复制代码

全部完成后要输出到jar文件,替换原来那个baas-api.jar。
注:需要修改项目默认编码为utf8,否则所有中文将出现乱码。

1

主题

1831

帖子

821

积分

高级会员

Rank: 4

积分
821
QQ
发表于 2016-11-4 16:39:44 | 显示全部楼层
谢谢分享
回复

使用道具 举报

94

主题

403

帖子

683

积分

高级会员

Rank: 4

积分
683
QQ
发表于 2016-11-6 19:54:41 | 显示全部楼层
我也想修改baas-api.jar,具体工具和做法能否发个分享帖子,不是java出身所以比较困难,需要详细点的教程
欢迎各位加群讨论:http://bbs.wex5.com/forum.php?mod=viewthread&tid=105046&page=1&extra=#pid165306780
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
 楼主| 发表于 2016-11-6 21:25:29 | 显示全部楼层
wex81997167 发表于 2016-11-6 19:54
我也想修改baas-api.jar,具体工具和做法能否发个分享帖子,不是java出身所以比较困难,需要详细点的教程 ...

你这是低级问题,百度下就能解决的,我也不是学java的,我擅长的是.NET,但这不影响我使用java,看代码无障碍。
回复 支持 反对

使用道具 举报

94

主题

403

帖子

683

积分

高级会员

Rank: 4

积分
683
QQ
发表于 2016-11-6 23:40:07 | 显示全部楼层
qldsrx 发表于 2016-11-6 21:25
你这是低级问题,百度下就能解决的,我也不是学java的,我擅长的是.NET,但这不影响我使用java,看代码无 ...

我复制\runtime\BaasServer\baas-api\src到这里,即使我首选项不开启调试模式,直接启动了运行模式也可以使用,是不是我不用重新生成jar包就可以使用了,挺奇怪的!
欢迎各位加群讨论:http://bbs.wex5.com/forum.php?mod=viewthread&tid=105046&page=1&extra=#pid165306780
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-5 00:05 , Processed in 0.113900 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表