-
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[dart2] Fix up test code generation, double deserialization, 'new' keyword deprecation #3576
Conversation
At present test generation has a stray hard-coded reference to the pet store Pet() class, which should reflect the actual classname under test.
At present the generated code does not correctly handle transitioning to double when dealing with non-integer types in JSON deserialization. This ends up with dart raising an unhandled type mismatch exception: Unhandled exception: type 'int' is not a subtype of type 'double' where ... Using the .toDouble() conversion when a double type is expected fixes this up by making the typing explicit.
The use of the 'new' keyword in dart2 is deprecated and should be avoided, as per the official guidance of the dart2 authors: https://dart.dev/guides/language/effective-dart/usage#dont-use-new
@@ -243,21 +245,21 @@ Name | Type | Description | Notes | |||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) | |||
|
|||
# **updatePet** | |||
> updatePet(body) | |||
> updatePet(pet) |
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.
@pmundt Which version of OpenAPI Generator are you using when working on this PR?
If it's the latest version, body
should be used instead of pet
.
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.
This was done with the current master from git shortly before the PR was created - with a full clean/install. I can attempt to wipe the tree and try it again in case this has accidentally cached some old build artifacts.
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.
👌 let me pull the changes locally to test it out.
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.
Your change looks good. I'll troubleshoot after merging your fix into master.
Minor suggestion: please create a new branch for the change moving forward. |
@pmundt thanks for the PR, which has been included in the 4.1.0 release: https://twitter.com/oas_generator/status/1160000504455319553 |
* master: (122 commits) Fix #3604 by adding undefined as return type to headers and credentials methods in runtime.ts (#3605) Prepare 4.1.1-SNAPSHOT (#3603) Prepare 4.1.0 release (#3597) [java][client][jax-rs] Add a constant for Jackson @JsonProperty (#3560) restore openapi3 petstore.yaml (#3590) Add a new NodeJS Express server generator (#3567) [C#][client][csharp-netcore] Fix csharp netcore defaultheaders (#3562) Fix issue deserializing to nullptr (#3572) [OCaml] Add file post-processing (#3583) [dart2] Fix up test code generation, double deserialization, 'new' keyword deprecation (#3576) Run Qt5 client sample test (#3415) typescript-fetch: allow configuration of headers and credentials (#3586) using partials in ruby api_client (#3564) [OCaml] Added optional params support in API operations (#3568) [Rust Server] Generate valid Rustdocs for lazy_static items (#3556) Fix NPM build for Typescript-fetch (#3403) Expand path templates via resttemplate's uriTemplateHandler (#3500) Readme updated with a new tutorial and company using OpenAPI Generator (#3566) Fix logic of `getNullableType` of csharp server and client. (#3537) [Ruby] clean up Ruby dev dependencies (#3551) ...
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\
. If contributing template-only or documentation-only changes which will change sample output, be sure to build the project first.master
,4.1.x
,5.0.x
. Default:master
.Description of the PR
This PR fixes up a number of issues with the current dart2 generator:
@ircecho @swipesight @jaumard