Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include argument name in MethodArgumentTypeMismatchException error message #33573

Closed
vpavic opened this issue Sep 20, 2024 · 1 comment
Closed
Assignees
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Milestone

Comments

@vpavic
Copy link
Contributor

vpavic commented Sep 20, 2024

Using the latest release (6.1.13), when MethodArgumentTypeMismatchException happens, something like this is logged at warn level:

Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.time.OffsetDateTime'; Failed to convert from type [java.lang.String] to type [@org.springframework.web.bind.annotation.RequestParam @org.springframework.format.annotation.DateTimeFormat java.time.OffsetDateTime] for value [2024-09-09T8:30:00+02:00]]

It would be very useful to also log the name of the argument which caused the error, because sometimes there are multiple handler method arguments of the same type that are subject to the same conversion. I guess this means that error message should be put together in MethodArgumentTypeMismatchException rather than relying on TypeMismatchException (which does not have the necessary context).

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Sep 20, 2024
@jhoeller jhoeller added the in: web Issues in web modules (web, webmvc, webflux, websocket) label Sep 20, 2024
@simonbasle simonbasle self-assigned this Oct 3, 2024
@simonbasle simonbasle added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged or decided on labels Oct 3, 2024
@simonbasle simonbasle added this to the 6.1.14 milestone Oct 3, 2024
@simonbasle
Copy link
Contributor

Thanks for the suggestion. The message will now look like this:

"Method parameter 'paramOne': Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

4 participants