问题的本质
关键在于日期的格式问题, 为feign客户端增加对应的日期处理器即可, 保证与服务提供方日期类型参数格式一致, 就不会报参数异常了
代码实现
import org.springframework.cloud.openfeign.FeignFormatterRegistrar;
import org.springframework.core.convert.converter.Converter;
import org.springframework.format.FormatterRegistry;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
public class DateFormatRegister implements FeignFormatterRegistrar {
public DateFormatRegister() {
}
@Override
public void registerFormatters(FormatterRegistry registry) {
registry.addConverter(Date.class, String.class, new Date2StringConverter());
}
private class Date2StringConverter implements Converter<Date, String> {
@Override
public String convert(Date source) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(source);
}
}
}