【发布时间】:2018-07-09 13:02:27
【问题描述】:
我的代码库中有一堆自定义弹簧转换器,例如:
public class ElasticSearchConverter implements Converter<RequestModel, ResponseModel> {
@Override
public final ResponseModel convert(RequestModel requestModel) {
if(!requestModel.isValid()) {
throw new ElasticSearchException("Request Model is not valid");
}
... Implement converter
}
}
我使用 spring ConversionService 从服务中调用这些转换器
@Service
public class ElasticService {
@Autowired
private ConversionService conversionService;
public ResponseModel getResponse(RequestModel requestModel) {
//Throws ConversionFailedException instead of ElasticSearchException
ResponseModel responseModel = conversionService.convert(requestModel, ResponseModel.class);
return responseModel;
}
}
我的问题是,当我将ElasticSearchException 扔进我的ElasticSearchConverter 中时,它会被困在弹簧ConversionUtils 类中并转换为ConversionFailedException。我想捕捉我在转换器中投入的特定ElasticSearchException。
如何从我的服务类中的 spring Converter 类中捕获特定异常?
【问题讨论】:
标签: java spring spring-mvc spring-boot converter