下面列出了怎么用org.springframework.http.codec.CodecConfigurer的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
protected void register(GenericApplicationContext context, CodecConfigurer configurer) {
configurer.customCodecs().writer(new MultipartHttpMessageWriter());
if (!isClientCodec) {
configurer.customCodecs().reader(new MultipartHttpMessageReader(new SynchronossPartHttpMessageReader()));
}
}
@Override
protected void register(GenericApplicationContext context, CodecConfigurer configurer) {
ObjectMapper mapper = context.getBean(ObjectMapper.class);
Jackson2JsonEncoder encoder = new Jackson2JsonEncoder(mapper);
configurer.customCodecs().decoder(new Jackson2JsonDecoder(mapper));
configurer.customCodecs().encoder(encoder);
configurer.customCodecs().writer(new ServerSentEventHttpMessageWriter(encoder));
}
private static WebClient.Builder buildWebClient(String baseUri, ClientHttpConnector clientHttpConnector) {
ExchangeStrategies strategies = ExchangeStrategies.builder().codecs((configurer) -> {
ObjectMapper mapper = JsonUtils.buildObjectMapper();
CodecConfigurer.DefaultCodecs dc = configurer.defaultCodecs();
dc.jackson2JsonDecoder(new Jackson2JsonDecoder(mapper));
dc.jackson2JsonEncoder(new Jackson2JsonEncoder(mapper));
}).build();
return WebClient.builder().clientConnector(clientHttpConnector).baseUrl(baseUri)
.defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.exchangeStrategies(strategies);
}
@Override
protected void register(GenericApplicationContext context, CodecConfigurer configurer) {
configurer.customCodecs().writer(new ResourceHttpMessageWriter());
configurer.customCodecs().decoder(new ResourceDecoder());
}
@Override
protected void register(GenericApplicationContext context, CodecConfigurer configurer) {
configurer.customCodecs().encoder(new ProtobufEncoder());
configurer.customCodecs().decoder(new ProtobufDecoder());
}
@Override
protected void register(GenericApplicationContext context, CodecConfigurer configurer) {
configurer.customCodecs().writer(new FormHttpMessageWriter());
configurer.customCodecs().reader(new FormHttpMessageReader());
}
@Override
protected void register(GenericApplicationContext context, CodecConfigurer configurer) {
configurer.customCodecs().encoder(textPlainOnly ? CharSequenceEncoder.textPlainOnly() : CharSequenceEncoder.allMimeTypes());
configurer.customCodecs().decoder(textPlainOnly ? StringDecoder.textPlainOnly() : StringDecoder.allMimeTypes());
}
default void configureJson(CodecConfigurer configurer) {
final ObjectMapper mapper = mapper();
CodecConfigurer.DefaultCodecs defaults = configurer.defaultCodecs();
defaults.jackson2JsonDecoder(new Jackson2JsonDecoder(mapper));
defaults.jackson2JsonEncoder(new Jackson2JsonEncoder(mapper));
}
protected abstract void register(GenericApplicationContext context, CodecConfigurer configurer);