mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Fix handling of ServerSentEvent with Jackson encoder
This commit fixes ServerSentEvent handling with Jackson encoder when no Accept header is specified. It also moves the String checks to the JSON codec level, as they do not make sense for binary formats. Closes gh-35872
This commit is contained in:
+1
-1
@@ -57,7 +57,7 @@ class JacksonCborDecoderTests extends AbstractDecoderTests<JacksonCborDecoder> {
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(Pojo.class), MediaType.APPLICATION_CBOR)).isTrue();
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(Pojo.class), null)).isTrue();
|
||||
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(String.class), null)).isFalse();
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(String.class), null)).isTrue();
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(Pojo.class), APPLICATION_JSON)).isFalse();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -59,6 +59,7 @@ class JacksonCborEncoderTests extends AbstractLeakCheckingTests {
|
||||
ResolvableType pojoType = ResolvableType.forClass(Pojo.class);
|
||||
assertThat(this.encoder.canEncode(pojoType, MediaType.APPLICATION_CBOR)).isTrue();
|
||||
assertThat(this.encoder.canEncode(pojoType, null)).isTrue();
|
||||
assertThat(this.encoder.canEncode(ResolvableType.forClass(String.class), null)).isTrue();
|
||||
|
||||
// SPR-15464
|
||||
assertThat(this.encoder.canEncode(ResolvableType.NONE, null)).isTrue();
|
||||
@@ -66,7 +67,6 @@ class JacksonCborEncoderTests extends AbstractLeakCheckingTests {
|
||||
|
||||
@Test
|
||||
void canNotEncode() {
|
||||
assertThat(this.encoder.canEncode(ResolvableType.forClass(String.class), null)).isFalse();
|
||||
assertThat(this.encoder.canEncode(ResolvableType.forClass(Pojo.class), APPLICATION_XML)).isFalse();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ class JacksonSmileDecoderTests extends AbstractDecoderTests<JacksonSmileDecoder>
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(Pojo.class), STREAM_SMILE_MIME_TYPE)).isTrue();
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(Pojo.class), null)).isTrue();
|
||||
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(String.class), null)).isFalse();
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(String.class), null)).isTrue();
|
||||
assertThat(decoder.canDecode(ResolvableType.forClass(Pojo.class), APPLICATION_JSON)).isFalse();
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -65,6 +65,7 @@ class JacksonSmileEncoderTests extends AbstractEncoderTests<JacksonSmileEncoder>
|
||||
assertThat(this.encoder.canEncode(pojoType, SMILE_MIME_TYPE)).isTrue();
|
||||
assertThat(this.encoder.canEncode(pojoType, STREAM_SMILE_MIME_TYPE)).isTrue();
|
||||
assertThat(this.encoder.canEncode(pojoType, null)).isTrue();
|
||||
assertThat(this.encoder.canEncode(ResolvableType.forClass(String.class), null)).isTrue();
|
||||
|
||||
// SPR-15464
|
||||
assertThat(this.encoder.canEncode(ResolvableType.NONE, null)).isTrue();
|
||||
@@ -72,7 +73,7 @@ class JacksonSmileEncoderTests extends AbstractEncoderTests<JacksonSmileEncoder>
|
||||
|
||||
@Test
|
||||
void cannotEncode() {
|
||||
assertThat(this.encoder.canEncode(ResolvableType.forClass(String.class), null)).isFalse();
|
||||
|
||||
assertThat(this.encoder.canEncode(ResolvableType.forClass(Pojo.class), APPLICATION_XML)).isFalse();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user