forked from loafle/openapi-generator-original
[Rust] Support formParams and fix list-params. (#1678)
* [Rust] Support formParams and fix list-params. Form params were previously unsupported, and list-params would produce code that didn't compile. * update rust samples
This commit is contained in:
parent
10ecc0e52f
commit
4a494b45d3
@ -21,7 +21,7 @@ impl {{{classname}}}Client {
|
|||||||
pub trait {{{classname}}} {
|
pub trait {{{classname}}} {
|
||||||
{{#operations}}
|
{{#operations}}
|
||||||
{{#operation}}
|
{{#operation}}
|
||||||
fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>;
|
fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{#isListContainer}}Vec<{{/isListContainer}}{{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{#isListContainer}}>{{/isListContainer}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>;
|
||||||
{{/operation}}
|
{{/operation}}
|
||||||
{{/operations}}
|
{{/operations}}
|
||||||
}
|
}
|
||||||
@ -30,10 +30,17 @@ pub trait {{{classname}}} {
|
|||||||
impl {{{classname}}} for {{{classname}}}Client {
|
impl {{{classname}}} for {{{classname}}}Client {
|
||||||
{{#operations}}
|
{{#operations}}
|
||||||
{{#operation}}
|
{{#operation}}
|
||||||
fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error> {
|
fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{#isListContainer}}Vec<{{/isListContainer}}{{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{#isListContainer}}>{{/isListContainer}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error> {
|
||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
|
{{#hasFormParams}}
|
||||||
|
let form = [
|
||||||
|
{{#formParams}}
|
||||||
|
("{{{baseName}}}", &{{{paramName}}}{{#isListContainer}}.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(","){{/isListContainer}}.to_string()),
|
||||||
|
{{/formParams}}
|
||||||
|
];
|
||||||
|
{{/hasFormParams}}
|
||||||
let query_string = {
|
let query_string = {
|
||||||
let mut query = ::url::form_urlencoded::Serializer::new(String::new());
|
let mut query = ::url::form_urlencoded::Serializer::new(String::new());
|
||||||
{{#queryParams}}
|
{{#queryParams}}
|
||||||
@ -96,6 +103,10 @@ impl {{{classname}}} for {{{classname}}}Client {
|
|||||||
{{/bodyParams}}
|
{{/bodyParams}}
|
||||||
{{/hasBodyParam}}
|
{{/hasBodyParam}}
|
||||||
|
|
||||||
|
{{#hasFormParams}}
|
||||||
|
req_builder = req_builder.form(&form);
|
||||||
|
{{/hasFormParams}}
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
3.3.4-SNAPSHOT
|
4.0.0-SNAPSHOT
|
@ -30,8 +30,8 @@ impl PetApiClient {
|
|||||||
pub trait PetApi {
|
pub trait PetApi {
|
||||||
fn add_pet(&self, pet: ::models::Pet) -> Result<(), Error>;
|
fn add_pet(&self, pet: ::models::Pet) -> Result<(), Error>;
|
||||||
fn delete_pet(&self, pet_id: i64, api_key: &str) -> Result<(), Error>;
|
fn delete_pet(&self, pet_id: i64, api_key: &str) -> Result<(), Error>;
|
||||||
fn find_pets_by_status(&self, status: Vec<String>) -> Result<Vec<::models::Pet>, Error>;
|
fn find_pets_by_status(&self, status: Vec<Vec<String>>) -> Result<Vec<::models::Pet>, Error>;
|
||||||
fn find_pets_by_tags(&self, tags: Vec<String>) -> Result<Vec<::models::Pet>, Error>;
|
fn find_pets_by_tags(&self, tags: Vec<Vec<String>>) -> Result<Vec<::models::Pet>, Error>;
|
||||||
fn get_pet_by_id(&self, pet_id: i64) -> Result<::models::Pet, Error>;
|
fn get_pet_by_id(&self, pet_id: i64) -> Result<::models::Pet, Error>;
|
||||||
fn update_pet(&self, pet: ::models::Pet) -> Result<(), Error>;
|
fn update_pet(&self, pet: ::models::Pet) -> Result<(), Error>;
|
||||||
fn update_pet_with_form(&self, pet_id: i64, name: &str, status: &str) -> Result<(), Error>;
|
fn update_pet_with_form(&self, pet_id: i64, name: &str, status: &str) -> Result<(), Error>;
|
||||||
@ -65,6 +65,7 @@ impl PetApi for PetApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&pet);
|
req_builder = req_builder.json(&pet);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -97,6 +98,7 @@ impl PetApi for PetApiClient {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -104,7 +106,7 @@ impl PetApi for PetApiClient {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn find_pets_by_status(&self, status: Vec<String>) -> Result<Vec<::models::Pet>, Error> {
|
fn find_pets_by_status(&self, status: Vec<Vec<String>>) -> Result<Vec<::models::Pet>, Error> {
|
||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
@ -129,13 +131,14 @@ impl PetApi for PetApiClient {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
Ok(client.execute(req)?.error_for_status()?.json()?)
|
Ok(client.execute(req)?.error_for_status()?.json()?)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn find_pets_by_tags(&self, tags: Vec<String>) -> Result<Vec<::models::Pet>, Error> {
|
fn find_pets_by_tags(&self, tags: Vec<Vec<String>>) -> Result<Vec<::models::Pet>, Error> {
|
||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
@ -160,6 +163,7 @@ impl PetApi for PetApiClient {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -196,6 +200,7 @@ impl PetApi for PetApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -227,6 +232,7 @@ impl PetApi for PetApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&pet);
|
req_builder = req_builder.json(&pet);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -238,6 +244,10 @@ impl PetApi for PetApiClient {
|
|||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
|
let form = [
|
||||||
|
("name", &name.to_string()),
|
||||||
|
("status", &status.to_string()),
|
||||||
|
];
|
||||||
let query_string = {
|
let query_string = {
|
||||||
let mut query = ::url::form_urlencoded::Serializer::new(String::new());
|
let mut query = ::url::form_urlencoded::Serializer::new(String::new());
|
||||||
|
|
||||||
@ -258,6 +268,8 @@ impl PetApi for PetApiClient {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
req_builder = req_builder.form(&form);
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -269,6 +281,10 @@ impl PetApi for PetApiClient {
|
|||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
|
let form = [
|
||||||
|
("additionalMetadata", &additional_metadata.to_string()),
|
||||||
|
("file", &file.to_string()),
|
||||||
|
];
|
||||||
let query_string = {
|
let query_string = {
|
||||||
let mut query = ::url::form_urlencoded::Serializer::new(String::new());
|
let mut query = ::url::form_urlencoded::Serializer::new(String::new());
|
||||||
|
|
||||||
@ -289,6 +305,8 @@ impl PetApi for PetApiClient {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
req_builder = req_builder.form(&form);
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
|
@ -56,6 +56,7 @@ impl StoreApi for StoreApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -93,6 +94,7 @@ impl StoreApi for StoreApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -119,6 +121,7 @@ impl StoreApi for StoreApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -146,6 +149,7 @@ impl StoreApi for StoreApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&order);
|
req_builder = req_builder.json(&order);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
|
@ -29,8 +29,8 @@ impl UserApiClient {
|
|||||||
|
|
||||||
pub trait UserApi {
|
pub trait UserApi {
|
||||||
fn create_user(&self, user: ::models::User) -> Result<(), Error>;
|
fn create_user(&self, user: ::models::User) -> Result<(), Error>;
|
||||||
fn create_users_with_array_input(&self, user: Vec<::models::User>) -> Result<(), Error>;
|
fn create_users_with_array_input(&self, user: Vec<Vec<::models::User>>) -> Result<(), Error>;
|
||||||
fn create_users_with_list_input(&self, user: Vec<::models::User>) -> Result<(), Error>;
|
fn create_users_with_list_input(&self, user: Vec<Vec<::models::User>>) -> Result<(), Error>;
|
||||||
fn delete_user(&self, username: &str) -> Result<(), Error>;
|
fn delete_user(&self, username: &str) -> Result<(), Error>;
|
||||||
fn get_user_by_name(&self, username: &str) -> Result<::models::User, Error>;
|
fn get_user_by_name(&self, username: &str) -> Result<::models::User, Error>;
|
||||||
fn login_user(&self, username: &str, password: &str) -> Result<String, Error>;
|
fn login_user(&self, username: &str, password: &str) -> Result<String, Error>;
|
||||||
@ -61,6 +61,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&user);
|
req_builder = req_builder.json(&user);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -68,7 +69,7 @@ impl UserApi for UserApiClient {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn create_users_with_array_input(&self, user: Vec<::models::User>) -> Result<(), Error> {
|
fn create_users_with_array_input(&self, user: Vec<Vec<::models::User>>) -> Result<(), Error> {
|
||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
@ -89,6 +90,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&user);
|
req_builder = req_builder.json(&user);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -96,7 +98,7 @@ impl UserApi for UserApiClient {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn create_users_with_list_input(&self, user: Vec<::models::User>) -> Result<(), Error> {
|
fn create_users_with_list_input(&self, user: Vec<Vec<::models::User>>) -> Result<(), Error> {
|
||||||
let configuration: &configuration::Configuration = self.configuration.borrow();
|
let configuration: &configuration::Configuration = self.configuration.borrow();
|
||||||
let client = &configuration.client;
|
let client = &configuration.client;
|
||||||
|
|
||||||
@ -117,6 +119,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&user);
|
req_builder = req_builder.json(&user);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -144,6 +147,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -171,6 +175,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -199,6 +204,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -225,6 +231,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
@ -253,6 +260,7 @@ impl UserApi for UserApiClient {
|
|||||||
|
|
||||||
req_builder = req_builder.json(&user);
|
req_builder = req_builder.json(&user);
|
||||||
|
|
||||||
|
|
||||||
// send request
|
// send request
|
||||||
let req = req_builder.build()?;
|
let req = req_builder.build()?;
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
3.3.4-SNAPSHOT
|
4.0.0-SNAPSHOT
|
Loading…
x
Reference in New Issue
Block a user