【发布时间】:2013-09-02 02:24:24
【问题描述】:
所以在我的服务层中,我有一些逻辑可以做一些事情。有时它必须在它执行之前检查是否有可能,或者它只需要从前端获得一些确定(“你确定要这样做吗?”之类的东西)。当然,前端会向屏幕发送交易以获取信息。
过去我为此使用过 RuntimeExceptions。我会扔一个
new MessageException("are.you.sure");
然后控制器层会做一个
try{
theService.doSomething();
}catch(MessageException me) {
model.addAttribute(me.getMessageKey());
result.addError(new ObjectError());
}
在另一个应用程序中,我创建了一个 PostOffice 对象,并将信件等放入其中用于发送消息。它非常精致且非常好,但我的新应用要小得多,我不想要所有这些。
所以我正在寻找一些最佳实践。你们如何将消息从服务层发送到前端?请记住,我不是在谈论例外!我只是在谈论来自服务层的消息。
【问题讨论】:
-
就像一个注释:当异常是适当的(我并不是说在这种情况下),你应该更喜欢检查而不是运行时,尽管有不良的 Spring 习惯,只要异常表明一种情况是一个错误,但预计在正常操作中偶尔会发生(也就是说,它不是像 NPE 那样的错误的结果)。
标签: java spring-mvc service-layer