Polishing contribution

Closes gh-30192
This commit is contained in:
rstoyanchev 2023-04-10 21:24:25 +01:00
parent e77faf7484
commit 8463eade33
4 changed files with 20 additions and 16 deletions

View File

@ -269,7 +269,7 @@ public class MimeType implements Comparable<MimeType>, Serializable {
*/
public boolean isWildcardSubtype() {
String subtype = getSubtype();
return WILDCARD_TYPE.equals(subtype) || subtype.startsWith("*+");
return (WILDCARD_TYPE.equals(subtype) || subtype.startsWith("*+"));
}
/**

View File

@ -104,14 +104,17 @@ public class FormHttpMessageReader extends LoggingCodecSupport
@Override
public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType) {
if (mediaType == null || MediaType.APPLICATION_FORM_URLENCODED.isCompatibleWith(mediaType)) {
if (MultiValueMap.class.isAssignableFrom(elementType.toClass()) &&
elementType.hasUnresolvableGenerics()) {
return true;
}
return MULTIVALUE_STRINGS_TYPE.isAssignableFrom(elementType);
if (!supportsMediaType(mediaType)) {
return false;
}
return false;
if (MultiValueMap.class.isAssignableFrom(elementType.toClass()) && elementType.hasUnresolvableGenerics()) {
return true;
}
return MULTIVALUE_STRINGS_TYPE.isAssignableFrom(elementType);
}
private static boolean supportsMediaType(@Nullable MediaType mediaType) {
return (mediaType == null || MediaType.APPLICATION_FORM_URLENCODED.isCompatibleWith(mediaType));
}
@Override

View File

@ -97,14 +97,16 @@ public abstract class AbstractJackson2Decoder extends Jackson2CodecSupport imple
@Override
public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType) {
// Skip String: CharSequenceDecoder + "*/*" comes after
if (CharSequence.class.isAssignableFrom(elementType.toClass()) || !supportsMimeType(mimeType)) {
if (!supportsMimeType(mimeType)) {
return false;
}
ObjectMapper mapper = selectObjectMapper(elementType, mimeType);
if (mapper == null) {
return false;
}
if (CharSequence.class.isAssignableFrom(elementType.toClass())) {
return false;
}
JavaType javaType = mapper.constructType(elementType.getType());
if (!logger.isDebugEnabled()) {
return mapper.canDeserialize(javaType);

View File

@ -81,6 +81,11 @@ public class MultipartHttpMessageReader extends LoggingCodecSupport
return MIME_TYPES;
}
@Override
public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType) {
return supportsMediaType(mediaType) && MULTIPART_VALUE_TYPE.isAssignableFrom(elementType);
}
private boolean supportsMediaType(@Nullable MediaType mediaType) {
if (mediaType == null) {
return true;
@ -93,12 +98,6 @@ public class MultipartHttpMessageReader extends LoggingCodecSupport
return false;
}
@Override
public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType) {
return supportsMediaType(mediaType) && MULTIPART_VALUE_TYPE.isAssignableFrom(elementType);
}
@Override
public Flux<MultiValueMap<String, Part>> read(ResolvableType elementType,
ReactiveHttpInputMessage message, Map<String, Object> hints) {