Fix issue in BufferedImageHttpMessageConverter
This change ensures BufferedImageHttpMessageConverter writes when "*/*" is requested. Issue: SPR-7763
This commit is contained in:
		
							parent
							
								
									4611d150fe
								
							
						
					
					
						commit
						2391277115
					
				| 
						 | 
				
			
			@ -132,7 +132,7 @@ public class BufferedImageHttpMessageConverter implements HttpMessageConverter<B
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	private boolean isWritable(MediaType mediaType) {
 | 
			
		||||
		if (mediaType == null) {
 | 
			
		||||
		if (mediaType == null || MediaType.ALL.equals(mediaType)) {
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
		Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByMIMEType(mediaType.toString());
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@ public class BufferedImageHttpMessageConverter implements HttpMessageConverter<B
 | 
			
		|||
	public void write(BufferedImage image, MediaType contentType, HttpOutputMessage outputMessage)
 | 
			
		||||
			throws IOException, HttpMessageNotWritableException {
 | 
			
		||||
 | 
			
		||||
		if (contentType == null) {
 | 
			
		||||
		if (contentType == null || contentType.isWildcardType() || contentType.isWildcardSubtype()) {
 | 
			
		||||
			contentType = getDefaultContentType();
 | 
			
		||||
		}
 | 
			
		||||
		Assert.notNull(contentType,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,6 +51,7 @@ public class BufferedImageHttpMessageConverterTests {
 | 
			
		|||
	public void canWrite() {
 | 
			
		||||
		assertTrue("Image not supported", converter.canWrite(BufferedImage.class, null));
 | 
			
		||||
		assertTrue("Image not supported", converter.canWrite(BufferedImage.class, new MediaType("image", "png")));
 | 
			
		||||
		assertTrue("Image not supported", converter.canWrite(BufferedImage.class, new MediaType("*", "*")));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +86,7 @@ public class BufferedImageHttpMessageConverterTests {
 | 
			
		|||
		converter.setDefaultContentType(contentType);
 | 
			
		||||
		BufferedImage body = ImageIO.read(logo.getFile());
 | 
			
		||||
		MockHttpOutputMessage outputMessage = new MockHttpOutputMessage();
 | 
			
		||||
		converter.write(body, contentType, outputMessage);
 | 
			
		||||
		converter.write(body, new MediaType("*", "*"), outputMessage);
 | 
			
		||||
		assertEquals("Invalid content type", contentType, outputMessage.getHeaders().getContentType());
 | 
			
		||||
		assertTrue("Invalid size", outputMessage.getBodyAsBytes().length > 0);
 | 
			
		||||
		BufferedImage result = ImageIO.read(new ByteArrayInputStream(outputMessage.getBodyAsBytes()));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue