List of usage examples for org.springframework.util MimeTypeUtils parseMimeType
public static MimeType parseMimeType(String mimeType)
From source file:org.springframework.cloud.schema.avro.AvroMessageConverterSerializationTests.java
@Test public void sourceWriteSameVersion() throws Exception { User specificRecord = new User(); specificRecord.setName("joe"); Schema v1 = new Schema.Parser().parse(AvroMessageConverterSerializationTests.class.getClassLoader() .getResourceAsStream("schemas/user.avsc")); GenericRecord genericRecord = new GenericData.Record(v1); genericRecord.put("name", "joe"); SchemaRegistryClient client = new DefaultSchemaRegistryClient(); AvroSchemaRegistryClientMessageConverter converter = new AvroSchemaRegistryClientMessageConverter(client); converter.setDynamicSchemaGenerationEnabled(false); converter.setContentTypeResolver(new StringConvertingContentTypeResolver()); converter.setCacheManager(new ConcurrentMapCacheManager()); converter.afterPropertiesSet();//w w w . ja va2s .co m Message specificMessage = converter.toMessage(specificRecord, new MutableMessageHeaders(Collections.<String, Object>emptyMap()), MimeTypeUtils.parseMimeType("application/*+avro")); SchemaReference specificRef = extractSchemaReference( MimeTypeUtils.parseMimeType(specificMessage.getHeaders().get("contentType").toString())); Message genericMessage = converter.toMessage(genericRecord, new MutableMessageHeaders(Collections.<String, Object>emptyMap()), MimeTypeUtils.parseMimeType("application/*+avro")); SchemaReference genericRef = extractSchemaReference( MimeTypeUtils.parseMimeType(genericMessage.getHeaders().get("contentType").toString())); Assert.assertEquals(genericRef, specificRef); Assert.assertEquals(1, genericRef.getVersion()); }
From source file:org.springframework.cloud.stream.converter.JsonUnmarshallingConverter.java
private boolean canConvertFromBasedOnContentTypeHeader(Message<?> message) { Object contentTypeHeader = message.getHeaders().get(MessageHeaders.CONTENT_TYPE); if (contentTypeHeader instanceof String) { return MimeTypeUtils.APPLICATION_JSON.includes(MimeTypeUtils.parseMimeType((String) contentTypeHeader)); } else if (contentTypeHeader instanceof MimeType) { return MimeTypeUtils.APPLICATION_JSON.includes((MimeType) contentTypeHeader); } else {//from w ww . j a va 2s. c o m return contentTypeHeader == null; } }
From source file:org.springframework.messaging.handler.annotation.reactive.PayloadMethodArgumentResolver.java
/** * Return the mime type for the content. By default this method checks the * {@link MessageHeaders#CONTENT_TYPE} header expecting to find a * {@link MimeType} value or a String to parse to a {@link MimeType}. * @param message the input message/*from w w w.j av a 2 s. c om*/ */ @Nullable protected MimeType getMimeType(Message<?> message) { Object headerValue = message.getHeaders().get(MessageHeaders.CONTENT_TYPE); if (headerValue == null) { return null; } else if (headerValue instanceof String) { return MimeTypeUtils.parseMimeType((String) headerValue); } else if (headerValue instanceof MimeType) { return (MimeType) headerValue; } else { throw new IllegalArgumentException("Unexpected MimeType value: " + headerValue); } }