使用webflux和springboot在不同的restcontroller中使用不同的objectMapper
我需要在我的控制器的两个版本上注入两个不同的objectMapper(Jackson2ObjectMapperBuilder)配置,我已经尝试了许多示例,但是使用webflux它们不起作用(使用webMvc可以很好地工作) 唯一使用的映射器是@Primary,如何通过配置在ControllerV2中设置v2objectMapperBuilder使用webflux和springboot在不同的restcontroller中使用不同的objectMapper,controller,spring-webflux,objectmapper,Controller,Spring Webflux,Objectmapper,我需要在我的控制器的两个版本上注入两个不同的objectMapper(Jackson2ObjectMapperBuilder)配置,我已经尝试了许多示例,但是使用webflux它们不起作用(使用webMvc可以很好地工作) 唯一使用的映射器是@Primary,如何通过配置在ControllerV2中设置v2objectMapperBuilder ps:如果在ControllerV2中注入v2objectMapperBuilder并直接使用,显然有效,但我不希望出现这种情况。可能重复,这是另一种情
ps:如果在ControllerV2中注入v2objectMapperBuilder并直接使用,显然有效,但我不希望出现这种情况。可能重复,这是另一种情况。不要只是说这是另一种情况,如果需要帮助,请解释不同之处。该链接指向相同的情况,只是它们使用web而不是webflux,但类相同,接口相同,实现相同。
@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;
}
}