Java 基于源对象的Spring ConditionalGenericConverter';s实例变量值
我有一个类Request.class,我想根据以下条件将其转换为Response.class:如果Request.class的实例的布尔实例变量isValid设置为true,则不应触发此转换器。我们有没有办法使用Spring提供的ConditionalGenericConverter接口来实现这一点?还是有更好的方法解决这个问题Java 基于源对象的Spring ConditionalGenericConverter';s实例变量值,java,spring,type-conversion,Java,Spring,Type Conversion,我有一个类Request.class,我想根据以下条件将其转换为Response.class:如果Request.class的实例的布尔实例变量isValid设置为true,则不应触发此转换器。我们有没有办法使用Spring提供的ConditionalGenericConverter接口来实现这一点?还是有更好的方法解决这个问题 public class RequestToResponseConverter implements ConditionalGenericConverter {
public class RequestToResponseConverter implements ConditionalGenericConverter {
@Override
public Set<ConvertiblePair> getConvertibleTypes() {
Set<ConditionalGenericConverter.ConvertiblePair> pairs = new LinkedHashSet<>();
pairs.add(new ConditionalGenericConverter.ConvertiblePair(Request.class, Response.class));
return pairs;
}
@Override
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) {
// TODO Auto-generated method stub
if(//request.isValid){
return true;
}
return false;
}
公共类RequestToResponseConverter实现ConditionalGenericConverter{
@凌驾
公共集getConvertibleTypes(){
Set pairs=新的LinkedHashSet();
add(新的ConditionalGenericConverter.ConvertiblePair(Request.class,Response.class));
返回对;
}
@凌驾
公共对象转换(对象源、类型描述符源类型、类型描述符目标类型){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共布尔匹配(TypeDescriptor源类型、TypeDescriptor目标类型){
//TODO自动生成的方法存根
if(//request.isValid){
返回true;
}
返回false;
}
如果不调用转换类的convert
方法,您将如何确定对象实例source
是否将isValid
字段设置为true?仅调用matches
方法无法知道对象convert
方法接收的状态。那么,为什么要避免调用g转换类。如果isValid
设置为false,仍然调用转换器类并返回null
有意义吗?如果设置为false,我的要求基于isValid标志。如果设置为false,我需要调用其他转换器。您将如何决定对象实例源是否具有isValid
字段设置为true而不调用转换类的convert
方法?仅调用matches
方法无法知道对象convert
方法接收的状态。那么,为什么要完全避免调用转换类。仍然调用转换类并返回是否有意义>如果isValid
设置为false,则为null
。我的要求基于isValid标志。如果设置为false,我需要调用其他转换器