业务层检查是直接抛出异常还是返回结果给控制层,控制层再做处理

像一般的业务层都要做业务校验,比如说是否唯一,是否冲突等逻辑性校验。是直接抛出异常然后由全局异常捕获后处理给前端,还是说返回结果给控制层,或者直接在控制层先做校验,如果逻辑上没问题了在处理相关业务。

大家都是怎么做的?感觉在service中直接抛出感觉更方便一些

另外curd中的增删改,控制层是否该判断service中返回的结果然后进行成功与否判断输出不同的结果给前端呢?

阅读 2.4k
1 个回答

数据验证应该由单独的验证部分(封装一层)去做,调用代码可以在控制器,异常结果还是交给全局吧,不然控制器里面的样板代码太多了

提供到 Service 的数据就应该是准确的数据,Service 就不在做额外验证了。

控制层是否该判断service中返回的结果然后进行成功与否判断输出不同的结果给前端呢?

应该根据不同的需要来吧,一般来说 Service 的结果是可以直接用于响应的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题