From 581131e0fe730d56ed2c65f0156c16ea6f4807ad Mon Sep 17 00:00:00 2001 From: Ivan Aksamentov <9403403+ivan-aksamentov@users.noreply.github.com> Date: Fri, 2 Aug 2019 00:54:13 +0200 Subject: [PATCH] Fix PHP Symfony non-primitive return type being forced to be an array (#3515) * Fix PHP Symfony non-primitive return type being forced to be an array https://github.com/OpenAPITools/openapi-generator/issues/3514 * Update PHP Symfony samples --- .../codegen/languages/PhpSymfonyServerCodegen.java | 2 +- .../php-symfony/SymfonyBundle-php/Api/PetApiInterface.php | 4 ++-- .../php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php | 4 ++-- .../php-symfony/SymfonyBundle-php/Api/UserApiInterface.php | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index 4a58052af4b..d6025d2bb2f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -406,7 +406,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg // Create a variable to display the correct return type in comments for interfaces if (op.returnType != null) { op.vendorExtensions.put("x-commentType", op.returnType); - if (!op.returnTypeIsPrimitive) { + if (op.returnContainer != null && op.returnContainer.equals("array")) { op.vendorExtensions.put("x-commentType", op.returnType + "[]"); } } else { diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php index 0d64fe30cf4..864fa5cd80f 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/PetApiInterface.php @@ -127,7 +127,7 @@ interface PetApiInterface * @param integer $responseCode The HTTP response code to return * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return OpenAPI\Server\Model\Pet[] + * @return OpenAPI\Server\Model\Pet * */ public function getPetById($petId, &$responseCode, array &$responseHeaders); @@ -173,7 +173,7 @@ interface PetApiInterface * @param integer $responseCode The HTTP response code to return * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return OpenAPI\Server\Model\ApiResponse[] + * @return OpenAPI\Server\Model\ApiResponse * */ public function uploadFile($petId, $additionalMetadata = null, UploadedFile $file = null, &$responseCode, array &$responseHeaders); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php index e9cb20b9cb4..dc599f03ca7 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/StoreApiInterface.php @@ -87,7 +87,7 @@ interface StoreApiInterface * @param integer $responseCode The HTTP response code to return * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return OpenAPI\Server\Model\Order[] + * @return OpenAPI\Server\Model\Order * */ public function getOrderById($orderId, &$responseCode, array &$responseHeaders); @@ -101,7 +101,7 @@ interface StoreApiInterface * @param integer $responseCode The HTTP response code to return * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return OpenAPI\Server\Model\Order[] + * @return OpenAPI\Server\Model\Order * */ public function placeOrder(Order $body, &$responseCode, array &$responseHeaders); diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php index 54b99510aad..10cc9466220 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Api/UserApiInterface.php @@ -107,7 +107,7 @@ interface UserApiInterface * @param integer $responseCode The HTTP response code to return * @param array $responseHeaders Additional HTTP headers to return with the response () * - * @return OpenAPI\Server\Model\User[] + * @return OpenAPI\Server\Model\User * */ public function getUserByName($username, &$responseCode, array &$responseHeaders);