Spring Webflux десериализует json с разверткой и без нее

#java #spring #spring-boot #spring-webflux #jackson-databind

#java #spring #spring-boot #spring-webflux #jackson-привязка данных

Вопрос:

Я использую службы REST с помощью Spring Webflux, используя десериализацию компонентов через Jackson, то есть ObjectMapper. Для некоторых запросов требуется, чтобы объект ответа был развернут, для некоторых нет.

Я хорошо знаю, что могу добиться развертывания с помощью компонента, подобного

 @Bean
public Jackson2ObjectMapperBuilder unwrappingJacksonBuilder() {
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
    builder.featuresToEnable(DeserializationFeature.UNWRAP_ROOT_VALUE);
    return builder;
} 
  

но это приводит к развертыванию всех объектов ответа.

Я пытался использовать @JsonDeserialize(MyUnwrappingDeserializer.class) для объектов, которые нуждаются в развертывании, но я предполагаю, что есть гораздо более простой способ сделать это.

Вторая идея заключалась в том, чтобы использовать 2 разных компонента ObjectMapper, один из которых развертывается, а другой нет, но мне не хватает ссылки, как настроить соответствующие веб-клиенты с помощью разных ObjectMapper.

Есть ли у кого-нибудь подсказка по этой проблеме?