From 4ea4ceb0ff13077100448ec93d694d9d43166a9b Mon Sep 17 00:00:00 2001 From: Richard Whitehouse Date: Sat, 30 Jan 2021 11:49:42 +0000 Subject: [PATCH] [Rust Server] Serializable responses (#8516) * [Rust Server] Make responses serializable * Update samples --- .../main/resources/rust-server/lib.mustache | 1 + .../resources/rust-server/response.mustache | 2 +- .../output/multipart-v3/src/lib.rs | 7 +- .../output/no-example-v3/src/lib.rs | 3 +- .../rust-server/output/openapi-v3/src/lib.rs | 57 +++++++------- .../rust-server/output/ops-v3/src/lib.rs | 75 ++++++++++--------- .../src/lib.rs | 71 +++++++++--------- .../output/rust-server-test/src/lib.rs | 19 ++--- 8 files changed, 121 insertions(+), 114 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/rust-server/lib.mustache b/modules/openapi-generator/src/main/resources/rust-server/lib.mustache index 1be0c7c2aad..a2caeaa84af 100644 --- a/modules/openapi-generator/src/main/resources/rust-server/lib.mustache +++ b/modules/openapi-generator/src/main/resources/rust-server/lib.mustache @@ -5,6 +5,7 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; diff --git a/modules/openapi-generator/src/main/resources/rust-server/response.mustache b/modules/openapi-generator/src/main/resources/rust-server/response.mustache index 39ff2782165..754667acd71 100644 --- a/modules/openapi-generator/src/main/resources/rust-server/response.mustache +++ b/modules/openapi-generator/src/main/resources/rust-server/response.mustache @@ -1,4 +1,4 @@ -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] {{#vendorExtensions.x-must-use-response}} #[must_use] {{/vendorExtensions.x-must-use-response}} diff --git a/samples/server/petstore/rust-server/output/multipart-v3/src/lib.rs b/samples/server/petstore/rust-server/output/multipart-v3/src/lib.rs index 2415ea2ce4e..95e56d34a36 100644 --- a/samples/server/petstore/rust-server/output/multipart-v3/src/lib.rs +++ b/samples/server/petstore/rust-server/output/multipart-v3/src/lib.rs @@ -5,25 +5,26 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; pub const BASE_PATH: &'static str = ""; pub const API_VERSION: &'static str = "1.0.7"; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum MultipartRelatedRequestPostResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum MultipartRequestPostResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum MultipleIdenticalMimeTypesPostResponse { /// OK OK diff --git a/samples/server/petstore/rust-server/output/no-example-v3/src/lib.rs b/samples/server/petstore/rust-server/output/no-example-v3/src/lib.rs index a6c48e87c07..c4dcf99042b 100644 --- a/samples/server/petstore/rust-server/output/no-example-v3/src/lib.rs +++ b/samples/server/petstore/rust-server/output/no-example-v3/src/lib.rs @@ -5,13 +5,14 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; pub const BASE_PATH: &'static str = ""; pub const API_VERSION: &'static str = "0.0.1"; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum OpGetResponse { /// OK OK diff --git a/samples/server/petstore/rust-server/output/openapi-v3/src/lib.rs b/samples/server/petstore/rust-server/output/openapi-v3/src/lib.rs index 458aa65a99a..6c54e17ce75 100644 --- a/samples/server/petstore/rust-server/output/openapi-v3/src/lib.rs +++ b/samples/server/petstore/rust-server/output/openapi-v3/src/lib.rs @@ -5,13 +5,14 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; pub const BASE_PATH: &'static str = ""; pub const API_VERSION: &'static str = "1.0.7"; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum AnyOfGetResponse { /// Success @@ -27,44 +28,44 @@ pub enum AnyOfGetResponse { (swagger::AnyOf2) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CallbackWithHeaderPostResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum ComplexQueryParamGetResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum EnumInPathPathParamGetResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum JsonComplexQueryParamGetResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum MandatoryRequestHeaderGetResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum MergePatchJsonGetResponse { /// merge-patch+json-encoded response Merge (models::AnotherXmlObject) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum MultigetGetResponse { /// JSON rsp @@ -96,51 +97,51 @@ pub enum MultigetGetResponse { (models::AnotherXmlObject) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum MultipleAuthSchemeGetResponse { /// Check that limiting to multiple required auth schemes works CheckThatLimitingToMultipleRequiredAuthSchemesWorks } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum OneOfGetResponse { /// Success Success (swagger::OneOf2>) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum OverrideServerGetResponse { /// Success. Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum ParamgetGetResponse { /// JSON rsp JSONRsp (models::AnotherXmlObject) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum ReadonlyAuthSchemeGetResponse { /// Check that limiting to a single required auth scheme works CheckThatLimitingToASingleRequiredAuthSchemeWorks } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum RegisterCallbackPostResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum RequiredOctetStreamPutResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum ResponsesWithHeadersGetResponse { /// Success @@ -176,7 +177,7 @@ pub enum ResponsesWithHeadersGetResponse { } } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum Rfc7807GetResponse { /// OK @@ -192,20 +193,20 @@ pub enum Rfc7807GetResponse { (models::ObjectWithArrayOfObjects) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum UntypedPropertyGetResponse { /// Check that untyped properties works CheckThatUntypedPropertiesWorks } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum UuidGetResponse { /// Duplicate Response long text. One. DuplicateResponseLongText (uuid::Uuid) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum XmlExtraPostResponse { /// OK @@ -215,7 +216,7 @@ pub enum XmlExtraPostResponse { BadRequest } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum XmlOtherPostResponse { /// OK @@ -226,7 +227,7 @@ pub enum XmlOtherPostResponse { BadRequest } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum XmlOtherPutResponse { /// OK @@ -236,7 +237,7 @@ pub enum XmlOtherPutResponse { BadRequest } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum XmlPostResponse { /// OK @@ -246,7 +247,7 @@ pub enum XmlPostResponse { BadRequest } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum XmlPutResponse { /// OK @@ -256,13 +257,13 @@ pub enum XmlPutResponse { BadRequest } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CreateRepoResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum GetRepoInfoResponse { /// OK OK @@ -796,13 +797,13 @@ impl + Send + Sync, C: Clone + Send + Sync> ApiNoContext for Contex } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CallbackCallbackWithHeaderPostResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CallbackCallbackPostResponse { /// OK OK diff --git a/samples/server/petstore/rust-server/output/ops-v3/src/lib.rs b/samples/server/petstore/rust-server/output/ops-v3/src/lib.rs index 11ba5e4a64a..52793ae078d 100644 --- a/samples/server/petstore/rust-server/output/ops-v3/src/lib.rs +++ b/samples/server/petstore/rust-server/output/ops-v3/src/lib.rs @@ -5,229 +5,230 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; pub const BASE_PATH: &'static str = ""; pub const API_VERSION: &'static str = "0.0.1"; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op10GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op11GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op12GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op13GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op14GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op15GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op16GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op17GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op18GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op19GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op1GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op20GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op21GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op22GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op23GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op24GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op25GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op26GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op27GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op28GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op29GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op2GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op30GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op31GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op32GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op33GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op34GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op35GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op36GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op37GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op3GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op4GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op5GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op6GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op7GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op8GetResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Op9GetResponse { /// OK OK diff --git a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs index 601410d3be9..c0364fee2a9 100644 --- a/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs +++ b/samples/server/petstore/rust-server/output/petstore-with-fake-endpoints-models-for-testing/src/lib.rs @@ -5,79 +5,80 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; pub const BASE_PATH: &'static str = "/v2"; pub const API_VERSION: &'static str = "1.0.0"; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum TestSpecialTagsResponse { /// successful operation SuccessfulOperation (models::Client) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum Call123exampleResponse { /// success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum FakeOuterBooleanSerializeResponse { /// Output boolean OutputBoolean (bool) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum FakeOuterCompositeSerializeResponse { /// Output composite OutputComposite (models::OuterComposite) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum FakeOuterNumberSerializeResponse { /// Output number OutputNumber (f64) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum FakeOuterStringSerializeResponse { /// Output string OutputString (String) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum FakeResponseWithNumericalDescriptionResponse { /// 1234 Status200 } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum HyphenParamResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum TestBodyWithQueryParamsResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum TestClientModelResponse { /// successful operation SuccessfulOperation (models::Client) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum TestEndpointParametersResponse { /// Invalid username supplied @@ -87,7 +88,7 @@ pub enum TestEndpointParametersResponse { UserNotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum TestEnumParametersResponse { /// Invalid request @@ -97,38 +98,38 @@ pub enum TestEnumParametersResponse { NotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum TestInlineAdditionalPropertiesResponse { /// successful operation SuccessfulOperation } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum TestJsonFormDataResponse { /// successful operation SuccessfulOperation } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum TestClassnameResponse { /// successful operation SuccessfulOperation (models::Client) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum AddPetResponse { /// Invalid input InvalidInput } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum DeletePetResponse { /// Invalid pet value InvalidPetValue } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum FindPetsByStatusResponse { /// successful operation @@ -139,7 +140,7 @@ pub enum FindPetsByStatusResponse { InvalidStatusValue } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum FindPetsByTagsResponse { /// successful operation @@ -150,7 +151,7 @@ pub enum FindPetsByTagsResponse { InvalidTagValue } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum GetPetByIdResponse { /// successful operation @@ -164,7 +165,7 @@ pub enum GetPetByIdResponse { PetNotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum UpdatePetResponse { /// Invalid ID supplied @@ -177,20 +178,20 @@ pub enum UpdatePetResponse { ValidationException } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum UpdatePetWithFormResponse { /// Invalid input InvalidInput } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum UploadFileResponse { /// successful operation SuccessfulOperation (models::ApiResponse) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum DeleteOrderResponse { /// Invalid ID supplied @@ -200,14 +201,14 @@ pub enum DeleteOrderResponse { OrderNotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum GetInventoryResponse { /// successful operation SuccessfulOperation (std::collections::HashMap) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum GetOrderByIdResponse { /// successful operation @@ -221,7 +222,7 @@ pub enum GetOrderByIdResponse { OrderNotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum PlaceOrderResponse { /// successful operation @@ -232,25 +233,25 @@ pub enum PlaceOrderResponse { InvalidOrder } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CreateUserResponse { /// successful operation SuccessfulOperation } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CreateUsersWithArrayInputResponse { /// successful operation SuccessfulOperation } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum CreateUsersWithListInputResponse { /// successful operation SuccessfulOperation } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum DeleteUserResponse { /// Invalid username supplied @@ -260,7 +261,7 @@ pub enum DeleteUserResponse { UserNotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum GetUserByNameResponse { /// successful operation @@ -274,7 +275,7 @@ pub enum GetUserByNameResponse { UserNotFound } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum LoginUserResponse { /// successful operation @@ -296,13 +297,13 @@ pub enum LoginUserResponse { InvalidUsername } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum LogoutUserResponse { /// successful operation SuccessfulOperation } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] #[must_use] pub enum UpdateUserResponse { /// Invalid user supplied diff --git a/samples/server/petstore/rust-server/output/rust-server-test/src/lib.rs b/samples/server/petstore/rust-server/output/rust-server-test/src/lib.rs index d7928600363..0d7e47499bd 100644 --- a/samples/server/petstore/rust-server/output/rust-server-test/src/lib.rs +++ b/samples/server/petstore/rust-server/output/rust-server-test/src/lib.rs @@ -5,66 +5,67 @@ use futures::Stream; use std::error::Error; use std::task::{Poll, Context}; use swagger::{ApiError, ContextWrapper}; +use serde::{Serialize, Deserialize}; type ServiceError = Box; pub const BASE_PATH: &'static str = ""; pub const API_VERSION: &'static str = "2.3.4"; -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum AllOfGetResponse { /// OK OK (models::AllOfObject) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum DummyGetResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum DummyPutResponse { /// Success Success } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum FileResponseGetResponse { /// Success Success (swagger::ByteArray) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum GetStructuredYamlResponse { /// OK OK (String) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum HtmlPostResponse { /// Success Success (String) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum PostYamlResponse { /// OK OK } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum RawJsonGetResponse { /// Success Success (serde_json::Value) } -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Serialize, Deserialize)] pub enum SoloObjectPostResponse { /// OK OK