Polish JacksonJsonDecoder

master
Sebastien Deleuze 8 years ago
parent 1f2fbba89b
commit 76baf85cfb
  1. 10
      spring-web-reactive/src/main/java/org/springframework/core/codec/support/JacksonJsonDecoder.java

@ -68,19 +68,15 @@ public class JacksonJsonDecoder extends AbstractDecoder<Object> {
JavaType javaType = typeFactory.constructType(elementType.getType()); JavaType javaType = typeFactory.constructType(elementType.getType());
ObjectReader reader = this.mapper.readerFor(javaType); ObjectReader reader = this.mapper.readerFor(javaType);
Flux<DataBuffer> stream = Flux.from(inputStream); return this.preProcessor.decode(inputStream, elementType, mimeType, hints)
if (this.preProcessor != null) { .map(dataBuffer -> {
stream = this.preProcessor.decode(inputStream, elementType, mimeType, hints);
}
return stream.map(dataBuffer -> {
try { try {
Object value = reader.readValue(dataBuffer.asInputStream()); Object value = reader.readValue(dataBuffer.asInputStream());
DataBufferUtils.release(dataBuffer); DataBufferUtils.release(dataBuffer);
return value; return value;
} }
catch (IOException e) { catch (IOException e) {
throw new CodecException("Error while reading the data", e); return Flux.error(new CodecException("Error while reading the data", e));
} }
}); });
} }

Loading…
Cancel
Save