-
-
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
[Csharp] add nullable support to API client #2528
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Overrode getNullableType method Added non-nullable type varients to 'typeMapping' collection Removed nullable type shorthand from api template
Set Integer property to not be nullable. Expect no '?' in baseType Set String property to be nullable. Expect no '?' in baseType
4 tasks
@wing328 - Done! PR has been updated. |
wing328
reviewed
Mar 30, 2019
@@ -86,6 +86,18 @@ public CSharpClientCodegen() { | |||
|
|||
cliOptions.clear(); | |||
|
|||
typeMapping.put("boolean", "bool"); |
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.
I may move these type mapping to abstract C# code generator instead with another PR.
wing328
changed the title
Csharp nullable support
[Csharp] add nullable support to API client
Mar 30, 2019
karismann
added a commit
to karismann/openapi-generator
that referenced
this pull request
Mar 30, 2019
karismann
added a commit
to karismann/openapi-generator
that referenced
this pull request
Mar 30, 2019
3 tasks
karismann
added a commit
to karismann/openapi-generator
that referenced
this pull request
Mar 30, 2019
jimschubert
added a commit
to jimschubert/openapi-generator
that referenced
this pull request
Apr 1, 2019
* master: (48 commits) [Typescript AngularJS] fix Extra package prefix in api parameters operations (OpenAPITools#2522) OpenAPITools#1023 - [Scala] Use status family during response processing (OpenAPITools#1024) Generate setters for readonly properties in server code (OpenAPITools#1582) [JS] fix NPE for null string and improve Travis config file (OpenAPITools#2553) [elm] Update ISO 8601 library (fixes missing time zone designator) (OpenAPITools#2545) [csharp] update sample after OpenAPITools#2528 (OpenAPITools#2550) [JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (OpenAPITools#2511) Aspnetcore nullable support (OpenAPITools#2529) Csharp nullable support (OpenAPITools#2528) [C++] [Qt5] Add enum support for client and server (OpenAPITools#2339) Fixed typo in migration-from-swagger-codegen.md (OpenAPITools#2548) [TypeScript Client] fix install Aurelia + fix use deprecated function (OpenAPITools#2514) [KOTLIN] fix var name not correctly sanitized (OpenAPITools#2537) Update swagger-parser to '2.0.11-OpenAPITools.org-1' (OpenAPITools#2262) Add @karismann to Java and Kotlin technical committee (OpenAPITools#2542) Add GoDaddy to the list of companies using OpenAPI Generator (OpenAPITools#2541) [Kotlin SpringBoot Server] alternative: fix optional parameter not correctly declared in service (OpenAPITools#2539) improve indentation, update dependencies (OpenAPITools#2521) update kotlin spring samples [JAVA] Use specified data type in enum's fromValue instead of string (OpenAPITools#2347) ...
jimschubert
added a commit
that referenced
this pull request
Apr 2, 2019
* master: (133 commits) #2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536) remove emitDefaultValue option (#2559) fix EmitDefaultValue default vallue with false (#2558) Added API Key auth to rust-server (#2459) remove initialCaps and replace with camelize (#2546) Add packageName configuration to maven (#2429) [Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522) #1023 - [Scala] Use status family during response processing (#1024) Generate setters for readonly properties in server code (#1582) [JS] fix NPE for null string and improve Travis config file (#2553) [elm] Update ISO 8601 library (fixes missing time zone designator) (#2545) [csharp] update sample after #2528 (#2550) [JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511) Aspnetcore nullable support (#2529) Csharp nullable support (#2528) [C++] [Qt5] Add enum support for client and server (#2339) Fixed typo in migration-from-swagger-codegen.md (#2548) [TypeScript Client] fix install Aurelia + fix use deprecated function (#2514) [KOTLIN] fix var name not correctly sanitized (#2537) Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262) ...
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR checklist
./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
.master
,. Default:3.4.x
,4.0.x
master
.Description of the PR
Followed a similar pattern to how the new csharp-netcore generator handles nullable support. I added an additional testcase as well. It verifies that a property marked as not-nullable will not generate the nullable form of it's type. Also, I verify that types that don't support the nullable type shorthand aren't affected, ie. a string. Please let me know if this is sufficient or if there are other cases you'd like me to capture.
I did not provide any files for the CI because it appears only the csharp-dotnet2 client has files committed to the project. Please let me know if you'd like me to run the csharp-petstore-all script and commit everything that's generated.
I think this can resolve the client-side request for issue #2269 (@wing328, hopefully this helps! I also have a PR prepped for the server-side as well).
@jimschubert @mandrean - Please review and let me know if you have any feedback,