Skip to content
This repository was archived by the owner on May 9, 2025. It is now read-only.

Commit e3faeac

Browse files
authored
fix struct export in rust reqwest (OpenAPITools#6453)
1 parent 105efd3 commit e3faeac

File tree

8 files changed

+138
-20
lines changed
  • modules/openapi-generator/src/main/resources/rust/reqwest
  • samples/client/petstore/rust
    • hyper
      • fileResponseTest/.openapi-generator
      • petstore/.openapi-generator
      • rust-test/.openapi-generator
    • reqwest
      • fileResponseTest/.openapi-generator
      • petstore/.openapi-generator
      • rust-test/.openapi-generator

8 files changed

+138
-20
lines changed

modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,31 @@ impl {{{classname}}}Client {
2222

2323
{{#operations}}
2424
{{#operation}}
25-
{{#vendorExtensions.x-group-parameters}}
26-
{{#allParams}}
27-
{{#-first}}
28-
/// struct for passing parameters to the method `{{operationId}}`
29-
#[derive(Clone, Debug)]
30-
pub struct {{{operationIdCamelCase}}}Params {
31-
{{/-first}}
32-
{{#description}}
33-
/// {{{.}}}
34-
{{/description}}
35-
pub {{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}String{{/isString}}{{#isUuid}}String{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{#hasMore}}, {{/hasMore}}
36-
{{#-last}}
37-
}
25+
{{#vendorExtensions.x-group-parameters}}
26+
{{#allParams}}
27+
{{#-first}}
28+
/// struct for passing parameters to the method `{{operationId}}`
29+
#[derive(Clone, Debug)]
30+
pub struct {{{classname}}}{{{operationIdCamelCase}}}Params {
31+
{{/-first}}
32+
{{#description}}
33+
/// {{{.}}}
34+
{{/description}}
35+
pub {{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}String{{/isString}}{{#isUuid}}String{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{#hasMore}},{{/hasMore}}
36+
{{#-last}}
37+
}
3838

39-
{{/-last}}
40-
{{/allParams}}
41-
{{/vendorExtensions.x-group-parameters}}
39+
{{/-last}}
40+
{{/allParams}}
41+
{{/vendorExtensions.x-group-parameters}}
4242
{{/operation}}
4343
{{/operations}}
4444

4545
pub trait {{{classname}}} {
4646
{{#operations}}
4747
{{#operation}}
4848
{{#vendorExtensions.x-group-parameters}}
49-
fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>;
49+
fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{classname}}}{{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>;
5050
{{/vendorExtensions.x-group-parameters}}
5151
{{^vendorExtensions.x-group-parameters}}
5252
fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>;
@@ -59,7 +59,7 @@ impl {{{classname}}} for {{{classname}}}Client {
5959
{{#operations}}
6060
{{#operation}}
6161
{{#vendorExtensions.x-group-parameters}}
62-
fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error> {
62+
fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{classname}}}{{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error> {
6363
// unbox the parameters
6464
{{#allParams}}
6565
let {{paramName}} = params.{{paramName}};

modules/openapi-generator/src/main/resources/rust/reqwest/api_mod.mustache

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,16 @@ pub fn urlencode<T: AsRef<str>>(s: T) -> String {
3535
mod {{{classFilename}}};
3636
{{#operations}}
3737
{{#operation}}
38-
{{#-last}}
38+
{{#-first}}
3939
pub use self::{{{classFilename}}}::{ {{{classname}}}, {{{classname}}}Client };
40-
{{/-last}}
40+
{{/-first}}
41+
{{#vendorExtensions.x-group-parameters}}
42+
{{#allParams}}
43+
{{#-first}}
44+
pub use self::{{{classFilename}}}::{ {{{classname}}}{{{operationIdCamelCase}}}Params };
45+
{{/-first}}
46+
{{/allParams}}
47+
{{/vendorExtensions.x-group-parameters}}
4148
{{/operation}}
4249
{{/operations}}
4350
{{/apis}}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.gitignore
2+
.travis.yml
3+
Cargo.toml
4+
README.md
5+
docs/DefaultApi.md
6+
git_push.sh
7+
src/apis/client.rs
8+
src/apis/configuration.rs
9+
src/apis/default_api.rs
10+
src/apis/mod.rs
11+
src/apis/request.rs
12+
src/lib.rs
13+
src/models/mod.rs
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
.gitignore
2+
.travis.yml
3+
Cargo.toml
4+
README.md
5+
docs/ApiResponse.md
6+
docs/Category.md
7+
docs/Order.md
8+
docs/Pet.md
9+
docs/PetApi.md
10+
docs/StoreApi.md
11+
docs/Tag.md
12+
docs/User.md
13+
docs/UserApi.md
14+
git_push.sh
15+
src/apis/client.rs
16+
src/apis/configuration.rs
17+
src/apis/mod.rs
18+
src/apis/pet_api.rs
19+
src/apis/request.rs
20+
src/apis/store_api.rs
21+
src/apis/user_api.rs
22+
src/lib.rs
23+
src/models/api_response.rs
24+
src/models/category.rs
25+
src/models/mod.rs
26+
src/models/order.rs
27+
src/models/pet.rs
28+
src/models/tag.rs
29+
src/models/user.rs
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.gitignore
2+
.travis.yml
3+
Cargo.toml
4+
README.md
5+
docs/DefaultApi.md
6+
docs/TypeTesting.md
7+
git_push.sh
8+
src/apis/client.rs
9+
src/apis/configuration.rs
10+
src/apis/default_api.rs
11+
src/apis/mod.rs
12+
src/apis/request.rs
13+
src/lib.rs
14+
src/models/mod.rs
15+
src/models/type_testing.rs
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
.gitignore
2+
.travis.yml
3+
Cargo.toml
4+
README.md
5+
docs/DefaultApi.md
6+
git_push.sh
7+
src/apis/client.rs
8+
src/apis/configuration.rs
9+
src/apis/default_api.rs
10+
src/apis/mod.rs
11+
src/lib.rs
12+
src/models/mod.rs
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
.gitignore
2+
.travis.yml
3+
Cargo.toml
4+
README.md
5+
docs/ApiResponse.md
6+
docs/Category.md
7+
docs/Order.md
8+
docs/Pet.md
9+
docs/PetApi.md
10+
docs/StoreApi.md
11+
docs/Tag.md
12+
docs/User.md
13+
docs/UserApi.md
14+
git_push.sh
15+
src/apis/client.rs
16+
src/apis/configuration.rs
17+
src/apis/mod.rs
18+
src/apis/pet_api.rs
19+
src/apis/store_api.rs
20+
src/apis/user_api.rs
21+
src/lib.rs
22+
src/models/api_response.rs
23+
src/models/category.rs
24+
src/models/mod.rs
25+
src/models/order.rs
26+
src/models/pet.rs
27+
src/models/tag.rs
28+
src/models/user.rs
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.gitignore
2+
.travis.yml
3+
Cargo.toml
4+
README.md
5+
docs/DefaultApi.md
6+
docs/TypeTesting.md
7+
git_push.sh
8+
src/apis/client.rs
9+
src/apis/configuration.rs
10+
src/apis/default_api.rs
11+
src/apis/mod.rs
12+
src/lib.rs
13+
src/models/mod.rs
14+
src/models/type_testing.rs

0 commit comments

Comments
 (0)