对独立的ObjectMapper使用相同的RestTemplate的ObjectMapper

时间:2019-09-11 02:36:19

标签: java spring-boot resttemplate objectmapper jackson2

这是我的设置:

具有自定义RestTemplate的{​​{1}}的{​​{1}},具有一些反序列化功能和问题处理程序(Jackson Fasterxml 2.8.9)。 MessageConverter还有一个自定义的ObjectMapper

在使用RestTemplate进行REST调用期间,如果响应状态需要由ResponseErrorHandler处理,则可能必须解析流主体并将其映射到对象。

我想知道,如果我可以将RestTemplate做成一个bean(ResponseErrorHandler / ObjectMapper),我是否可以在两个@Bean'中使用这个单例bean? s @Qualifer,并将其作为依赖项注入到相同 RestTemplate的{​​{1}}中?这样安全吗?

我要执行此操作的原因是,在进行数据绑定时,所有反序列化功能和问题处理程序都应该相同-不管它发生在ObjectMapper数据提取机制内部还是响应主体需要在RestTemplate期间进行映射。

1 个答案:

答案 0 :(得分:0)

定义对象映射器和RestTemplate bean。

或在每次创建RestTemplate时手动对其进行设置。

请记住将转换器添加为列表中的第一个转换器。

export const confirmPasswordValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {

    if ( !control.parent || !control )
    {
        return null;
    }

    const password = control.parent.get('password');
    const passwordConfirm = control.parent.get('passwordConfirm');

    if ( !password || !passwordConfirm )
    {
        return null;
    }

    if ( passwordConfirm.value === '' )
    {
        return null;
    }

    if ( password.value === passwordConfirm.value )
    {
        return null;
    }

    return {passwordsNotMatching: true};
};