-
Notifications
You must be signed in to change notification settings - Fork 40.7k
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
Support lambda based converters by parsing bean method signature generics #22885
base: 2.7.x
Are you sure you want to change the base?
Conversation
Thanks for the pull request, @viviel. Could you please add some tests that illustrate the problem that you changes solve? |
OK, then I'll look at the CI problem |
Thank you. Please don't worry too much about the CI failure. There's a known problem with the latest Spring Data snapshots that the Spring Data team are working on at the moment. A quick look at the test failures suggests that many, if not all of them, are related to that. |
Add test cases later |
2e6af25
to
0aec98e
Compare
We might want to look at the logic in |
8cefdc3
to
1e793fe
Compare
@viviel We're still hoping to merge this when we have the time to do so. Would you be interested in re-opening it? |
@wilkinsona |
Thanks, @viviel. We'll see if we can merge this in 2.7. |
I'd like to talk about the plan I expected. You can see if it can be implemented in this way. If so, I'll re implement it from the branch of 2.7 and submit it. I've combed the code these two days and found that there are similar problems with four interfaces: Converter, Formatter, Printer and Parser. My idea is to uniformly modify the four interfaces. The specific scheme is to make an adaptation layer for each interface, put the generic information in it, and then uniformly use the I'll implement it according to this scheme, and then you can see the specific code logic. If not, adapt the current changes to the code of the 2.7 branch |
00dde49
to
715167d
Compare
If I define a Converter with lambda or method reference, the project will fail to start due to the failure of parsing generics. I don't think that's reasonable, so after understanding the reasons, I modified it to support some of the above features