INT-1245, INT-1256 SerializingHttpMessageConverter is restricted to only the application/x-java-serialized-object media type

This commit is contained in:
Mark Fisher
2010-07-27 03:02:38 +00:00
parent b6745a33bc
commit d0d780c577

View File

@@ -37,16 +37,28 @@ import org.springframework.util.FileCopyUtils;
*/ */
public class SerializingHttpMessageConverter extends AbstractHttpMessageConverter<Serializable> { public class SerializingHttpMessageConverter extends AbstractHttpMessageConverter<Serializable> {
private static final MediaType APPLICATION_JAVA_SERIALIZED_OBJECT = new MediaType("application", "x-java-serialized-object");
/** Creates a new instance of the {@code SerializingHttpMessageConverter}. */ /** Creates a new instance of the {@code SerializingHttpMessageConverter}. */
public SerializingHttpMessageConverter() { public SerializingHttpMessageConverter() {
super(new MediaType("application", "x-java-serialized-object")); super(APPLICATION_JAVA_SERIALIZED_OBJECT);
} }
@Override @Override
public boolean supports(Class<?> clazz) { public boolean supports(Class<?> clazz) {
return !(byte[].class.equals(clazz)) && !(String.class.equals(clazz)) return Serializable.class.isAssignableFrom(clazz);
&& (clazz != null && Serializable.class.isAssignableFrom(clazz)); }
@Override
public boolean canRead(Class<?> clazz, MediaType mediaType) {
return (Serializable.class.isAssignableFrom(clazz) && APPLICATION_JAVA_SERIALIZED_OBJECT.includes(mediaType));
}
@Override
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
return (Serializable.class.isAssignableFrom(clazz) && APPLICATION_JAVA_SERIALIZED_OBJECT.includes(mediaType));
} }
@Override @Override