我试图涵盖类中所有其余的模板调用以进行异常处理。在 Spring Boot 应用程序中使用自定义异常处理和错误处理程序。
为此,我在配置中创建了一个休息模板 bean,并将其中的错误处理程序设置为我使用扩展 DefaultResponseErrorHandler 创建的自定义错误处理程序类。
public class BaseConfig {
@Bean
@Primary
RestTemplate restTemplate(@Autowired RestTemplateBuilder restTemplateBuilder) {
return restTemplateBuilder.errorHandler(new IPSRestErrorHandler()).build();
}
}
Run Code Online (Sandbox Code Playgroud)
@Component
public class IPSRestErrorHandler extends DefaultResponseErrorHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(IPSRestErrorHandler.class);
@Override
public void handleError(ClientHttpResponse response) throws IOException {
if (response.getStatusCode()
.series() == HttpStatus.Series.SERVER_ERROR) {
LOGGER.error("Server error with exception code : "+response.getStatusCode()+" with message : "+response.getStatusText());
throw ExceptionUtils.newRunTimeException("Server error with exception code : "+response.getStatusCode()+" with message : "+response.getStatusText());
} else if (response.getStatusCode()
.series() …Run Code Online (Sandbox Code Playgroud)