Skip to content

Commit 8463ead

Browse files
committed
Polishing contribution
Closes gh-30192
1 parent e77faf7 commit 8463ead

File tree

4 files changed

+20
-16
lines changed

4 files changed

+20
-16
lines changed

spring-core/src/main/java/org/springframework/util/MimeType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ public boolean isWildcardType() {
269269
*/
270270
public boolean isWildcardSubtype() {
271271
String subtype = getSubtype();
272-
return WILDCARD_TYPE.equals(subtype) || subtype.startsWith("*+");
272+
return (WILDCARD_TYPE.equals(subtype) || subtype.startsWith("*+"));
273273
}
274274

275275
/**

spring-web/src/main/java/org/springframework/http/codec/FormHttpMessageReader.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,17 @@ public int getMaxInMemorySize() {
104104

105105
@Override
106106
public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType) {
107-
if (mediaType == null || MediaType.APPLICATION_FORM_URLENCODED.isCompatibleWith(mediaType)) {
108-
if (MultiValueMap.class.isAssignableFrom(elementType.toClass()) &&
109-
elementType.hasUnresolvableGenerics()) {
110-
return true;
111-
}
112-
return MULTIVALUE_STRINGS_TYPE.isAssignableFrom(elementType);
107+
if (!supportsMediaType(mediaType)) {
108+
return false;
109+
}
110+
if (MultiValueMap.class.isAssignableFrom(elementType.toClass()) && elementType.hasUnresolvableGenerics()) {
111+
return true;
113112
}
114-
return false;
113+
return MULTIVALUE_STRINGS_TYPE.isAssignableFrom(elementType);
114+
}
115+
116+
private static boolean supportsMediaType(@Nullable MediaType mediaType) {
117+
return (mediaType == null || MediaType.APPLICATION_FORM_URLENCODED.isCompatibleWith(mediaType));
115118
}
116119

117120
@Override

spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Decoder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,16 @@ public int getMaxInMemorySize() {
9797

9898
@Override
9999
public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType) {
100-
// Skip String: CharSequenceDecoder + "*/*" comes after
101-
if (CharSequence.class.isAssignableFrom(elementType.toClass()) || !supportsMimeType(mimeType)) {
100+
if (!supportsMimeType(mimeType)) {
102101
return false;
103102
}
104103
ObjectMapper mapper = selectObjectMapper(elementType, mimeType);
105104
if (mapper == null) {
106105
return false;
107106
}
107+
if (CharSequence.class.isAssignableFrom(elementType.toClass())) {
108+
return false;
109+
}
108110
JavaType javaType = mapper.constructType(elementType.getType());
109111
if (!logger.isDebugEnabled()) {
110112
return mapper.canDeserialize(javaType);

spring-web/src/main/java/org/springframework/http/codec/multipart/MultipartHttpMessageReader.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ public List<MediaType> getReadableMediaTypes() {
8181
return MIME_TYPES;
8282
}
8383

84+
@Override
85+
public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType) {
86+
return supportsMediaType(mediaType) && MULTIPART_VALUE_TYPE.isAssignableFrom(elementType);
87+
}
88+
8489
private boolean supportsMediaType(@Nullable MediaType mediaType) {
8590
if (mediaType == null) {
8691
return true;
@@ -93,12 +98,6 @@ private boolean supportsMediaType(@Nullable MediaType mediaType) {
9398
return false;
9499
}
95100

96-
@Override
97-
public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType) {
98-
return supportsMediaType(mediaType) && MULTIPART_VALUE_TYPE.isAssignableFrom(elementType);
99-
}
100-
101-
102101
@Override
103102
public Flux<MultiValueMap<String, Part>> read(ResolvableType elementType,
104103
ReactiveHttpInputMessage message, Map<String, Object> hints) {

0 commit comments

Comments
 (0)