Skip to content

RequestPartMethodArgumentResolver should defensively handle MethodParameter nesting level and java.util.Optional access [SPR-13850] #18423

Closed
@spring-projects-issues

Description

@spring-projects-issues

Juergen Hoeller opened SPR-13850 and commented

RequestPartMethodArgumentResolver contains a conditional code path with a Optional.ofNullable call. While this will work in most pre-Java-8 environments as well, it's fragile in debug environments, in particular on the IBM JVM. We should defensively delegate to an inner class with the actual Optional reference, like we do in other places.

Also, RequestPartMethodArgumentResolver modifies the nesting level of a potentially cached MethodParameter instance. This should be avoided in favor of temporary nested type access or a MethodParameter clone.


Affects: 4.2.4

Issue Links:

Referenced from: commits 3779fe9, a58eee6, b4f33ad

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions