-
-
Notifications
You must be signed in to change notification settings - Fork 6.9k
Added new option methodNamingConvention to abstract php class #19794
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
base: master
Are you sure you want to change the base?
Conversation
i like it. @web-mi great job 👍 |
750d622
to
eebd489
Compare
thanks for the PR have you tried the operationId mapping option? Would that meet your requirement? ref: https://github.com/openapitools/openapi-generator/blob/master/docs/customization.md#name-mapping (this is not to say we won't accept this PR. it's still a good idea to have the option) |
Yes i already have seen that option. But i'm automatically generating multiple api clients directly from their resources and i don't wan't to fix it all the time if they change something. :-) |
...s/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java
Show resolved
Hide resolved
eebd489
to
a2162ff
Compare
2 suggestions:
let me know if you need help |
This PR added new additionalProperty "methodNamingConvention" to handle special cases with mutiple properties like "test" and "_test" which will end in the same getter and setter "getTest". (e.g. Rocket.chat GetApiV1ImList200ResponseImsInner.php)
By setting methodNamingConvenetion to snake_case the method names will be snake_case like "get__test" and "get_test" which is not the php default but solves the problem and makes the generated classes useable without a duplication error.
Also if there are two properties in openapi.yaml like "o_auth_test" and "oauth_test" it will end in a duplicate getter like "getOAuthTest" and "getOauthTest". (e.g. Keycloak RealmRepresentation.php)
This will add a solution for #1633
Its an alternative for #1634 too.
Technical Commitee PHP:
@jebentier, @dkarlovi, @mandrean, @jfastnacht, @ybelenko, @renepardon
PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*
.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master
(upcoming7.x.0
minor release - breaking changes with fallbacks),8.0.x
(breaking changes without fallbacks)