mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-22 14:01:42 +00:00
Add WebFlux SSE support with GSON
Closes gh-35884
This commit is contained in:
@@ -37,6 +37,7 @@ import org.springframework.core.io.buffer.DataBuffer;
|
||||
import org.springframework.core.io.buffer.DataBufferFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.codec.HttpMessageEncoder;
|
||||
import org.springframework.http.codec.ServerSentEvent;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.FastByteArrayOutputStream;
|
||||
import org.springframework.util.MimeType;
|
||||
@@ -106,7 +107,8 @@ public class GsonEncoder extends AbstractEncoder<Object> implements HttpMessageE
|
||||
if (!super.canEncode(elementType, mimeType)) {
|
||||
return false;
|
||||
}
|
||||
return !String.class.isAssignableFrom(elementType.toClass());
|
||||
Class<?> elementClass = elementType.toClass();
|
||||
return !(String.class.isAssignableFrom(elementClass) || ServerSentEvent.class.isAssignableFrom(elementClass));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
@@ -58,6 +58,7 @@ class ServerDefaultCodecsImpl extends BaseDefaultCodecs implements ServerCodecCo
|
||||
private @Nullable Encoder<?> getSseEncoder() {
|
||||
return this.sseEncoder != null ? this.sseEncoder :
|
||||
(JACKSON_PRESENT || JACKSON_2_PRESENT) ? getJacksonJsonEncoder() :
|
||||
GSON_PRESENT ? getGsonEncoder() :
|
||||
KOTLIN_SERIALIZATION_JSON_PRESENT ? getKotlinSerializationJsonEncoder() :
|
||||
null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user