swagger-api / swagger-api/swagger-codegen
[Rust] Enhancements to Rust generator
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 17.8k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
Description
Here is a list of enhancements I can think of for the Rust client generator:
- Add "docstring" to methods in API and model files for documenting the usage
- Add support for form parameters
- Add support for file upload (type: file)
- Add validation for parameters and model properties
- Make timeout (http) configurable
- Implement 'object' type conversion (https://github.com/swagger-api/swagger-codegen/pull/6846)
If anyone has any feedback/suggestion, please reply to let us know.
Swagger-codegen version
Latest master
Command line used for generation
mvn clean install
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -t modules/swagger-codegen/src/main/resources/rust -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l rust -o samples/client/petstore/rust
Related issues/PRs
https://github.com/swagger-api/swagger-codegen/pull/6105
If anyone wants to work on these enhancements, please reply to let us know and we'll show you some good starting points.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Rust generator templates under modules/swagger-codegen/src/main/resources/rust and the petstore input at modules/swagger-codegen/src/test/resources/2_0/petstore.yaml. Run the listed Maven build and generation command, then review the unchecked enhancements individually alongside related PR 6105. Done would require a narrowly scoped enhancement with corresponding generated output or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100