parent
7899fa3b0a
commit
a7bf14b364
|
@ -48,6 +48,21 @@ public class PartHttpMessageWriter extends MultipartWriterSupport implements Htt
|
||||||
super(MultipartHttpMessageReader.MIME_TYPES);
|
super(MultipartHttpMessageReader.MIME_TYPES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canWrite(ResolvableType elementType, @Nullable MediaType mediaType) {
|
||||||
|
if (Part.class.isAssignableFrom(elementType.toClass())) {
|
||||||
|
if (mediaType == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
for (MediaType supportedMediaType : getWritableMediaTypes()) {
|
||||||
|
if (supportedMediaType.isCompatibleWith(mediaType)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mono<Void> write(Publisher<? extends Part> parts,
|
public Mono<Void> write(Publisher<? extends Part> parts,
|
||||||
|
|
|
@ -52,22 +52,9 @@ public class PartHttpMessageWriterTests extends AbstractLeakCheckingTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void canWrite() {
|
public void canWrite() {
|
||||||
assertThat(this.writer.canWrite(
|
assertThat(this.writer.canWrite(ResolvableType.forClass(Part.class), MediaType.MULTIPART_FORM_DATA)).isTrue();
|
||||||
ResolvableType.forClassWithGenerics(MultiValueMap.class, String.class, Object.class),
|
assertThat(this.writer.canWrite(ResolvableType.forClass(Part.class), MediaType.MULTIPART_MIXED)).isTrue();
|
||||||
MediaType.MULTIPART_FORM_DATA)).isTrue();
|
assertThat(this.writer.canWrite(ResolvableType.forClass(Part.class), MediaType.MULTIPART_RELATED)).isTrue();
|
||||||
assertThat(this.writer.canWrite(
|
|
||||||
ResolvableType.forClassWithGenerics(MultiValueMap.class, String.class, String.class),
|
|
||||||
MediaType.MULTIPART_FORM_DATA)).isTrue();
|
|
||||||
assertThat(this.writer.canWrite(
|
|
||||||
ResolvableType.forClassWithGenerics(MultiValueMap.class, String.class, Object.class),
|
|
||||||
MediaType.MULTIPART_MIXED)).isTrue();
|
|
||||||
assertThat(this.writer.canWrite(
|
|
||||||
ResolvableType.forClassWithGenerics(MultiValueMap.class, String.class, Object.class),
|
|
||||||
MediaType.MULTIPART_RELATED)).isTrue();
|
|
||||||
|
|
||||||
assertThat(this.writer.canWrite(
|
|
||||||
ResolvableType.forClassWithGenerics(Map.class, String.class, Object.class),
|
|
||||||
MediaType.MULTIPART_FORM_DATA)).isFalse();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue