-
-
Notifications
You must be signed in to change notification settings - Fork 6.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
[C#] allow customization of generated enum suffixes #4301
[C#] allow customization of generated enum suffixes #4301
Conversation
👍 Thanks for opening this issue! The team will review the labels and make any necessary changes. |
copying the technical committee ... |
so i think i figured out how to run the scripts, and indeed a bunch of files were generated. i expected the aspnetcore one (and i've committed the updated version) but it's unclear to me why so many samples for other languages were generated. i'm trying it without my changes now. |
looks ready to go? let's do it |
Thanks for the PR but your commit (as shown in the Commits tab) is not linked to your Github account, which means this PR won't count as your contribution in https://github.com/OpenAPITools/openapi-generator/graphs/contributors. Let me know if you need help fixing it. |
87b6647
to
fb5cc75
Compare
oops. fixed it! |
@@ -27,6 +27,8 @@ sidebar_label: aspnetcore | |||
|useNewtonsoft|Uses the Newtonsoft JSON library.| |true| | |||
|newtonsoftVersion|Version for Microsoft.AspNetCore.Mvc.NewtonsoftJson for ASP.NET Core 3.0+| |3.0.0-preview5-19227-01| | |||
|useDefaultRouting|Use default routing for the ASP.NET Core version. For 3.0 turn off default because it is not yet supported.| |true| | |||
|enumNameSuffix|Suffix that will be appended to all enum names.| |Enum| | |||
|enumValueNameSuffix|Suffix that will be appended to all enum value names.| |Enum| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the use case for this? Why wouldn't someone just put the expected value in the enum text field in the specification document?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The behavior before my change is to append Enum
to both the name of the enum type and each value. So you end up with
enum MyEnum {
Value1Enum,
Value2Enum
}
I didn't want to break the existing default behavior, so I made that suffix customizable too.
If you have suggestions I'd be happy to change it :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay in response. The holidays were pretty hectic for me.
I think we'll want to call the value one enumValueSuffix
. I'll do that in a separate commit.
* master: (187 commits) [core] Initial FeatureSet structures and definitions (OpenAPITools#3614) Add Cisco to the user list (OpenAPITools#4971) comment out php slim4 in ensure-up-to-date update samples [Python] Allow models to have properties of type self (OpenAPITools#4888) Add npmRepository option to javascript generators (OpenAPITools#4956) [Slim4] Add ref support to Data Mocker (OpenAPITools#4932) Fix auto-labeler for jax-rs (OpenAPITools#4943) [doc] full generator details (OpenAPITools#4941) comment out python flask 2 test (OpenAPITools#4949) [jaxrs-spec][quarkus] update to version 1.1.1.Final (OpenAPITools#4935) [cli] Full config help details (OpenAPITools#4928) Add RequestFile to typescript-node model template (OpenAPITools#4903) [csharp] enum suffix changes enumValueNameSuffix to enumValueSuffix (OpenAPITools#4927) [C#] allow customization of generated enum suffixes (OpenAPITools#4301) [Kotlin] Correct isInherited flag for Kotlin generators (OpenAPITools#4254) [Rust Server] Fix panic handling headers (OpenAPITools#4877) Initial CODEOWNERS (OpenAPITools#4924) [scala] Support for Set when array has uniqueItems=true (OpenAPITools#4926) remove nodejs server samples, scripts (OpenAPITools#4919) ...
allows customization of enum suffixes for C#
addresses #4275
generates stuff like (not that i would ever want 'aaa' or 'bbb' suffixes, but it's a fine example...)
PR checklist
./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc).master
,4.1.x
,5.0.x
. Default:master
.