【发布时间】:2018-08-17 01:01:14
【问题描述】:
我有一个场景:
UI<--->Spring boot micro-service REST API<--->server
现在,有一种情况我想处理自定义异常(我知道该怎么做),以便在服务器以某种方式响应时将特定的 Http 状态和消息返回给 UI,例如500 应该返回“请稍后返回”而不是“内部服务器错误”。我们微服务的 maven 项目分为 3 层(子 maven 项目),即 Business、Web 和 Domain。其中 web 包含控制器类,Business 包含 Service 类,Domain 包含 @Entity、@Components 等。
我想知道为了处理上面提到的异常,比如说 HTTP 状态 500,应该在业务层完成吗?或在 web 层,即控制器级别。什么是最好的解决方案? (我知道 ResponseEntity 以及它如何为 UI 提供自定义响应)。
我个人认为,如果我在业务级别包含自定义异常类,并在检查响应状态后使用响应实体在控制器类中返回它,就可以解决问题。但官员们觉得应该在服务层面上做吗?我不明白为什么(它使过程更复杂)?谁能建议哪种解决方案最好?
【问题讨论】:
标签: java spring rest spring-boot exception-handling