Мне нужно внедрить две разные конфигурации objectMapper (Jackson2ObjectMapperBuilder) на две версии моего контроллера, я пробовал много примеров, но с webflux они не работают (с web Mvc работают нормально) .
@RestController
@RequestMapping("/v1")
public class ControllerV1 implements IController {
...
}
@RestController
@RequestMapping("/v2")
public class ControllerV2 implements IController {
...
}
@EnableReactiveMongoRepositories
public class Config extends AbstractReactiveMongoConfiguration {
@Override
public MongoClient reactiveMongoClient() {
...
}
@Primary
@Bean(name = "objectMapperV1")
public Jackson2ObjectMapperBuilder v1objectMapperBuilder() {
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
builder.propertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
...
return builder;
}
@Bean(name = "objectMapperV2")
public Jackson2ObjectMapperBuilder v2objectMapperBuilder() {
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
builder.propertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
...
return builder;
}
}
Единственный используемый преобразователь - это @Primary, как установить с помощью конфигурации v2objectMapperBuilder в ControllerV2?
ps: если внедрить v2objectMapperBuilder в ControllerV2 и использовать напрямую, очевидно, работает, но я не хочу этого.