#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.
Есть ли у кого-нибудь подсказка по этой проблеме?