-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
[java] Combining "properties" and "additionalProperties" in one class generates broken Jackson mapping. #1466
Comments
Any updates on this? |
We are facing the very same issue using openapi-generator-gradle-plugin : 4.0.1 and the Are there any workarounds beside not using both (i.e. Thanks! |
Also having problems with serialize/deserialize properly because of this. The automatic |
Any updates on this issue? |
I think that having a member of HashMap instead of extending HashMap would address the issue. |
curious if this was ever fixed? |
Also having problems with this issue, Any workaround or update ? |
Hey, Unfortunately not! But you can make customization for it. I have made wrapper over gradle plugin and added some logic. I can share it with you if you are interested in it |
@wakedeer I would be interested to see this. |
This is related to issues 6146 and 5515 |
Hello, I faced the same problem. I took a look at the code and it happens that if you use the java generator with configOptions.library set to jersey2 (gradle plugin), it works as you expect. Unfortunately for me I use the spring generator, I don't know why the behavior hasn't been set for all java generators. I will maybe propose a fix about that. |
I tried to adapt the fix for spring to the jaxrs-cxf generator. It seems to work fine for our usecase but I am not sure how to prevent this from breaking existing code which may rely on the current behavior. So I am still hesitant to open a pull request. |
These changes look really good @benfonty . Is there anything left to get this change accepted? |
@benfonty can you try merging master to your branch and push again? That should solve the build issue. |
@jameswynn CI is indeed OK now. |
Hello @jameswynn / @benfonty , Have you a update for this fix please ? Thank you so much :) |
Is there anything blocking this from making it into the 6.0 release? @wing328 I can update the PR again. |
Hi, this issue is blocking my team as well. |
Hello, is there an issue with the MR for it not to be merged? |
Is there a reason this fix is not being merged yet? |
#11572 - this likely needs to be updated and revived to tackle this issue. If anyone wants to create a new pull request based on the content, that would be helpful. |
Hello, I created this pull request a long time ago and did not receive any approval at the time. |
fix #1466) * fix: #1466 additionalProperties works now in spring generator * chore: chore: #1466 solved rebase conflicts * 1466; updated samples * [Spring] update additionalProperties MR * [Spring] additionalProperties unit test --------- Co-authored-by: Your Name <benfonty@gmail.com> Co-authored-by: Oleh Kurpiak <oleh.kurpiak@gmail.com>
…ator (OpenAPITools#11572) (fix OpenAPITools#1466) * fix: OpenAPITools#1466 additionalProperties works now in spring generator * chore: chore: OpenAPITools#1466 solved rebase conflicts * 1466; updated samples * [Spring] update additionalProperties MR * [Spring] additionalProperties unit test --------- Co-authored-by: Your Name <benfonty@gmail.com> Co-authored-by: Oleh Kurpiak <oleh.kurpiak@gmail.com>
…ator (OpenAPITools#11572) (fix OpenAPITools#1466) * fix: OpenAPITools#1466 additionalProperties works now in spring generator * chore: chore: OpenAPITools#1466 solved rebase conflicts * 1466; updated samples * [Spring] update additionalProperties MR * [Spring] additionalProperties unit test --------- Co-authored-by: Your Name <benfonty@gmail.com> Co-authored-by: Oleh Kurpiak <oleh.kurpiak@gmail.com>
This issue still persists in the Java generator of the latest version. Does anyone have an update on this? |
Description
If using both "properties" and "additionalProperties", the generated class extends HashMap and contains plain properties. Like this:
Such a class cannot be meaningfully deserialised using Jackson. Jackson puts all the fields as key/value pairs into the HashMap ignoring the plain fields. In provided example getA() would return "null", while get("a") contains the value.
openapi-generator version
Used version: openapi-generator-maven-plugin : 3.3.3
OpenAPI declaration file
Suggest a fix/enhancement
I would suggest to generate such a class (which has both "properties" and "additionalProperites") as:
Similar suggestion in "swagger-codegen" project:
swagger-api/swagger-codegen#5187
The text was updated successfully, but these errors were encountered: