From ed4ed3923f7c394580e5a6622af11b70ee73262c Mon Sep 17 00:00:00 2001 From: Jaemin Park Date: Mon, 18 Jul 2022 18:14:18 +0900 Subject: [PATCH] [cpp-ue4] Fix GET request writes body (OpenAPITools#12833) (#12904) Co-authored-by: nullbus --- .../cpp-ue4/api-operations-source.mustache | 2 + .../Private/OpenAPIPetApiOperations.cpp | 88 ------------------- .../Private/OpenAPIStoreApiOperations.cpp | 66 -------------- .../Private/OpenAPIUserApiOperations.cpp | 88 ------------------- 4 files changed, 2 insertions(+), 242 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache b/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache index 2656a49f6f5..4868c236ea1 100644 --- a/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-ue4/api-operations-source.mustache @@ -146,6 +146,7 @@ void {{classname}}::{{operationIdCamelCase}}Request::SetupHttpRequest(const FHtt {{/headerParams}} {{/headerParams.0}} + {{#isBodyAllowed}} // Default to Json Body request if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) { @@ -281,6 +282,7 @@ void {{classname}}::{{operationIdCamelCase}}Request::SetupHttpRequest(const FHtt { UE_LOG(Log{{unrealModuleName}}, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); } + {{/isBodyAllowed}} } {{#responses.0}} diff --git a/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp b/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp index c9c28c098f5..4708d2e8468 100644 --- a/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp +++ b/samples/client/petstore/cpp-ue4/Private/OpenAPIPetApiOperations.cpp @@ -102,28 +102,6 @@ void OpenAPIPetApi::DeletePetRequest::SetupHttpRequest(const FHttpRequestRef& Ht HttpRequest->SetHeader(TEXT("api_key"), ApiKey.GetValue()); } - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::DeletePetResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -221,28 +199,6 @@ void OpenAPIPetApi::FindPetsByStatusRequest::SetupHttpRequest(const FHttpRequest HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::FindPetsByStatusResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -282,28 +238,6 @@ void OpenAPIPetApi::FindPetsByTagsRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::FindPetsByTagsResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -342,28 +276,6 @@ void OpenAPIPetApi::GetPetByIdRequest::SetupHttpRequest(const FHttpRequestRef& H HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIPetApi::GetPetByIdResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) diff --git a/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp b/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp index d972f349a62..882bfe6af0f 100644 --- a/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp +++ b/samples/client/petstore/cpp-ue4/Private/OpenAPIStoreApiOperations.cpp @@ -40,28 +40,6 @@ void OpenAPIStoreApi::DeleteOrderRequest::SetupHttpRequest(const FHttpRequestRef HttpRequest->SetVerb(TEXT("DELETE")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIStoreApi::DeleteOrderResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -96,28 +74,6 @@ void OpenAPIStoreApi::GetInventoryRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIStoreApi::GetInventoryResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -153,28 +109,6 @@ void OpenAPIStoreApi::GetOrderByIdRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIStoreApi::GetOrderByIdResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) diff --git a/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp b/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp index c0d6c05b7d9..32936cb1806 100644 --- a/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp +++ b/samples/client/petstore/cpp-ue4/Private/OpenAPIUserApiOperations.cpp @@ -211,28 +211,6 @@ void OpenAPIUserApi::DeleteUserRequest::SetupHttpRequest(const FHttpRequestRef& HttpRequest->SetVerb(TEXT("DELETE")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::DeleteUserResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -271,28 +249,6 @@ void OpenAPIUserApi::GetUserByNameRequest::SetupHttpRequest(const FHttpRequestRe HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::GetUserByNameResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -336,28 +292,6 @@ void OpenAPIUserApi::LoginUserRequest::SetupHttpRequest(const FHttpRequestRef& H HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::LoginUserResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) @@ -392,28 +326,6 @@ void OpenAPIUserApi::LogoutUserRequest::SetupHttpRequest(const FHttpRequestRef& HttpRequest->SetVerb(TEXT("GET")); - // Default to Json Body request - if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json"))) - { - // Form parameters - FString JsonBody; - JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody); - Writer->WriteObjectStart(); - Writer->WriteObjectEnd(); - Writer->Close(); - HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8")); - HttpRequest->SetContentAsString(JsonBody); - } - else if (Consumes.Contains(TEXT("multipart/form-data"))) - { - } - else if (Consumes.Contains(TEXT("application/x-www-form-urlencoded"))) - { - } - else - { - UE_LOG(LogOpenAPI, Error, TEXT("Request ContentType not supported (%s)"), *FString::Join(Consumes, TEXT(","))); - } } void OpenAPIUserApi::LogoutUserResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode)