* docs(rust,client): link from parameter structs to operation methods
* docs(rust,client): move "more information" text up
This prevents the "more information" text from flowing into the previous
bullet point.
* docs(rust,client): use code formatting for generatorClass
* docs(rust,client): use packageName variable for Cargo.toml dependencies example
* chore(rust,client): capture sample updates
* feat(rust,client): derive Default for model & api structs
This makes operations with many parameters easier to work with.
* chore(rust,client): capture sample changes: derive Default
* fix(rust,client): keep default reqwest features with supportAsync
This avoids disabling TLS support entirely.
* chore(rust,client): capture sample changes
This avoids disabling TLS support entirely.
* fix(rust,client): use local_var prefix for configuration
This avoids conflicting with params named "configuration".
* chore(rust,client): capture updated samples
* Stronger typing for http errors with Rust client. (#5609).
* Error structure can be parametrized (but is still hardcoded with `serde_json::Value` in generated code).
* Each API method has is own enum of functionnal errors.
* Fix the missing "Debug" derivation for API error enums.
* Generate models for error deserialization.
* Handle several 2xx success models.
* Expose new API objects, required to use the API (params, success, error structs/enums).
Co-authored-by: William Cheng <wing328hk@gmail.com>
This PR includes theses changes:
- Handling "optional" parameters is not optional anymore. Handling an additional parameter for it makes templates more complicated, and IMO, it is not worth it (as discussed in issue, it is an "acceptable" breaking change).
- Optional parameters are handled everywhere: path params, query params, form params... Generated sample code compiles (both hyper and reqwest libraries).
* Add support for the `discriminator` feature of OpenAPI 3, and implement it with `enum` in Rust
* Add all missing explicit `dyn` to trait types to remove warnings
* Add missing re-export for properties that are enum (was missing from #2244).
As we discovered in #3463, there are various bits of the rust client generator that are currently untested. This PR adds tests for various generator-specific types, and also files.
Follows the example of the rust-server generator for making it easy to add new test specs. This should make it easier for future contributors to make sure that their contributions are tested
* Fixes NPE when no outputDir is set
* Fix behaviors of default values for values not provided by user
* Easier handling of default behavior in settings.
* Fixes for dynamic config deserialization (specifically, ruby client sample fix)
* Tests for WorkflowSettings (defaults, modified defaults, nulls)
* Test modification of WorkflowSettings defaults for both class constructor and builder
It fails if the model contains a float, which don't implement Eq.
Fix for bug introduced in #3309.
We really need to improve the testing of the rust generator to catch this sort of mistake in future. I don't have time to do this now, though.