【发布时间】:2012-05-01 21:09:39
【问题描述】:
出于某种原因,我不喜欢抛出异常,也许是因为我不知道对性能的影响,想知道我是否应该重新考虑这个问题。
我的服务层(使用 Dao 的 + 业务逻辑等)应该抛出异常吗?
public ModelAndView createProduct(@Valid ProductForm productForm, ..) {
ModelAndView mav = new ModelAndView(...);
if(bindingResult.hasErrors()) {
return mav;
}
// throw exception if user doesn't have permissions??
productService.create(product, userPermissions);
}
所以我在 ProductService 的 create 方法中的选项:
- 如果用户没有权限,则抛出异常
- 返回某种类型的 Response 对象,如果成功,该对象将具有新产品 ID,以及成功/失败标志和错误集合。
注意事项:
我可以在非网络应用程序中重用此服务层,也可以在静态网络服务中。
什么是最佳实践?
【问题讨论】:
标签: java spring spring-mvc soa