我有一个带有多个RestControllers的Spring Boot应用程序,每个RestController都根据他们调用的服务连接到不同的数据库。
如果他们中的任何一个由于某种原因无法连接到数据库,我会抛出一条消息,说明如下:
@RestController
@RestControllerAdvice
public class GlobalExceptionHandler {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
// The Network Adapter could not establish the connection
@ExceptionHandler(value = SQLRecoverableException.class)
public ResponseEntity<String> handleBaseException(Exception e) {
return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body("Service Unavailable.");
}
}
现在,是否可以确定哪个RestController触发了此异常?
当我使用@RestControllerAdvice
时,我不知道如何将全局异常连接到Rest控制器答案 0 :(得分:1)
Spring提供两级异常处理,
<强> 1。控制器级别。
的 2。全球水平。
使用控制器级异常处理,如果需要根据控制器添加内容。
全局级别处理意味着处理异常而不管知道哪个控制器异常属于。
希望这能回答你的问题。最好在您的情况下进行控制器级异常处理。
评论是否需要更多信息。