diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java index 09cc9665b02..965297cd4d3 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/PhpClientCodegen.java @@ -101,7 +101,7 @@ public PhpClientCodegen() { typeMapping.put("array", "array"); typeMapping.put("list", "array"); typeMapping.put("object", "object"); - typeMapping.put("binary", "ByteArray"); + typeMapping.put("binary", "string"); cliOptions.add(new CliOption(CodegenConstants.MODEL_PACKAGE, CodegenConstants.MODEL_PACKAGE_DESC)); cliOptions.add(new CliOption(CodegenConstants.API_PACKAGE, CodegenConstants.API_PACKAGE_DESC)); diff --git a/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache index a0a0b8fcf59..891149d8f55 100644 --- a/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache +++ b/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache @@ -230,7 +230,7 @@ class ApiClient throw new ApiException("API call to $url timed out: ".serialize($response_info), 0, null, null); } elseif ($response_info['http_code'] >= 200 && $response_info['http_code'] <= 299 ) { // return raw body if response is a file - if ($responseType == '\SplFileObject' || $responseType == 'ByteArray') { + if ($responseType == '\SplFileObject' || $responseType == 'string') { return array($http_body, $response_info['http_code'], $http_header); } diff --git a/modules/swagger-codegen/src/main/resources/php/ObjectSerializer.mustache b/modules/swagger-codegen/src/main/resources/php/ObjectSerializer.mustache index f961f5cd60c..39241038a6a 100644 --- a/modules/swagger-codegen/src/main/resources/php/ObjectSerializer.mustache +++ b/modules/swagger-codegen/src/main/resources/php/ObjectSerializer.mustache @@ -241,8 +241,6 @@ class ObjectSerializer $values[] = self::deserialize($value, $subClass); } $deserialized = $values; - } elseif ($class === 'ByteArray') { // byte array - $deserialized = unpack('C*', (string)$data); } elseif ($class === '\DateTime') { $deserialized = new \DateTime($data); } elseif (in_array($class, array({{&primitives}}))) { diff --git a/modules/swagger-codegen/src/main/resources/php/api.mustache b/modules/swagger-codegen/src/main/resources/php/api.mustache index d21301ee387..1740a380102 100644 --- a/modules/swagger-codegen/src/main/resources/php/api.mustache +++ b/modules/swagger-codegen/src/main/resources/php/api.mustache @@ -188,7 +188,7 @@ use \{{invokerPackage}}\ObjectSerializer; {{#bodyParams}}// body params $_tempBody = null; if (isset(${{paramName}})) { - {{^isBinary}}$_tempBody = ${{paramName}};{{/isBinary}}{{#isBinary}}$_tempBody = call_user_func_array('pack', array_merge(array('C*'), ${{paramName}}));{{/isBinary}} + $_tempBody = ${{paramName}}; }{{/bodyParams}} // for model (json/xml) diff --git a/samples/client/petstore/php/SwaggerClient-php/lib/Api/PetApi.php b/samples/client/petstore/php/SwaggerClient-php/lib/Api/PetApi.php index c83eec73104..464179d3349 100644 --- a/samples/client/petstore/php/SwaggerClient-php/lib/Api/PetApi.php +++ b/samples/client/petstore/php/SwaggerClient-php/lib/Api/PetApi.php @@ -884,7 +884,7 @@ public function uploadFileWithHttpInfo($pet_id, $additional_metadata = null, $fi * Fake endpoint to test byte array return by 'Find pet by ID' * * @param int $pet_id ID of pet that needs to be fetched (required) - * @return ByteArray + * @return string * @throws \Swagger\Client\ApiException on non-2xx response */ public function petPetIdtestingByteArraytrueGet($pet_id) @@ -900,7 +900,7 @@ public function petPetIdtestingByteArraytrueGet($pet_id) * Fake endpoint to test byte array return by 'Find pet by ID' * * @param int $pet_id ID of pet that needs to be fetched (required) - * @return Array of ByteArray, HTTP status code, HTTP response headers (array of strings) + * @return Array of string, HTTP status code, HTTP response headers (array of strings) * @throws \Swagger\Client\ApiException on non-2xx response */ public function petPetIdtestingByteArraytrueGetWithHttpInfo($pet_id) @@ -964,19 +964,19 @@ public function petPetIdtestingByteArraytrueGetWithHttpInfo($pet_id) list($response, $statusCode, $httpHeader) = $this->apiClient->callApi( $resourcePath, 'GET', $queryParams, $httpBody, - $headerParams, 'ByteArray' + $headerParams, 'string' ); if (!$response) { return array(null, $statusCode, $httpHeader); } - return array(\Swagger\Client\ObjectSerializer::deserialize($response, 'ByteArray', $httpHeader), $statusCode, $httpHeader); + return array(\Swagger\Client\ObjectSerializer::deserialize($response, 'string', $httpHeader), $statusCode, $httpHeader); } catch (ApiException $e) { switch ($e->getCode()) { case 200: - $data = \Swagger\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'ByteArray', $e->getResponseHeaders()); + $data = \Swagger\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'string', $e->getResponseHeaders()); $e->setResponseObject($data); break; } @@ -990,7 +990,7 @@ public function petPetIdtestingByteArraytrueGetWithHttpInfo($pet_id) * * Fake endpoint to test byte array in body parameter for adding a new pet to the store * - * @param ByteArray $body Pet object in the form of byte array (optional) + * @param string $body Pet object in the form of byte array (optional) * @return void * @throws \Swagger\Client\ApiException on non-2xx response */ @@ -1006,7 +1006,7 @@ public function addPetUsingByteArray($body = null) * * Fake endpoint to test byte array in body parameter for adding a new pet to the store * - * @param ByteArray $body Pet object in the form of byte array (optional) + * @param string $body Pet object in the form of byte array (optional) * @return Array of null, HTTP status code, HTTP response headers (array of strings) * @throws \Swagger\Client\ApiException on non-2xx response */ @@ -1036,7 +1036,7 @@ public function addPetUsingByteArrayWithHttpInfo($body = null) // body params $_tempBody = null; if (isset($body)) { - $_tempBody = call_user_func_array('pack', array_merge(array('C*'), $body)); + $_tempBody = $body; } // for model (json/xml) diff --git a/samples/client/petstore/php/SwaggerClient-php/lib/ApiClient.php b/samples/client/petstore/php/SwaggerClient-php/lib/ApiClient.php index 8313dc52004..df38b989f88 100644 --- a/samples/client/petstore/php/SwaggerClient-php/lib/ApiClient.php +++ b/samples/client/petstore/php/SwaggerClient-php/lib/ApiClient.php @@ -230,7 +230,7 @@ public function callApi($resourcePath, $method, $queryParams, $postData, $header throw new ApiException("API call to $url timed out: ".serialize($response_info), 0, null, null); } elseif ($response_info['http_code'] >= 200 && $response_info['http_code'] <= 299 ) { // return raw body if response is a file - if ($responseType == '\SplFileObject' || $responseType == 'ByteArray') { + if ($responseType == '\SplFileObject' || $responseType == 'string') { return array($http_body, $response_info['http_code'], $http_header); } diff --git a/samples/client/petstore/php/SwaggerClient-php/lib/ObjectSerializer.php b/samples/client/petstore/php/SwaggerClient-php/lib/ObjectSerializer.php index 7b3509b5856..8b95811e990 100644 --- a/samples/client/petstore/php/SwaggerClient-php/lib/ObjectSerializer.php +++ b/samples/client/petstore/php/SwaggerClient-php/lib/ObjectSerializer.php @@ -241,8 +241,6 @@ public static function deserialize($data, $class, $httpHeaders=null) $values[] = self::deserialize($value, $subClass); } $deserialized = $values; - } elseif ($class === 'ByteArray') { // byte array - $deserialized = unpack('C*', (string)$data); } elseif ($class === '\DateTime') { $deserialized = new \DateTime($data); } elseif (in_array($class, array('integer', 'int', 'void', 'number', 'object', 'double', 'float', 'byte', 'DateTime', 'string', 'mixed', 'boolean', 'bool'))) { diff --git a/samples/client/petstore/php/SwaggerClient-php/tests/PetApiTest.php b/samples/client/petstore/php/SwaggerClient-php/tests/PetApiTest.php index 44d90936368..96ceaf98015 100644 --- a/samples/client/petstore/php/SwaggerClient-php/tests/PetApiTest.php +++ b/samples/client/petstore/php/SwaggerClient-php/tests/PetApiTest.php @@ -279,7 +279,7 @@ public function testAddPetUsingByteArray() // add a new pet (model) $object_serializer = new Swagger\Client\ObjectSerializer(); $pet_json_string = json_encode($object_serializer->sanitizeForSerialization($new_pet)); - $add_response = $pet_api->addPetUsingByteArray(unpack('C*', $pet_json_string)); + $add_response = $pet_api->addPetUsingByteArray($pet_json_string); // return nothing (void) $this->assertSame($add_response, NULL); // verify added Pet @@ -330,9 +330,9 @@ public function testGetPetByIdWithByteArray() // test getPetByIdWithByteArray $pet_id = 10005; $bytes = $pet_api->petPetIdtestingByteArraytrueGet($pet_id); - $json = json_decode(call_user_func_array('pack', array_merge(array('C*'), $bytes )), true); + $json = json_decode($bytes, true); - $this->assertInternalType("array", $bytes); + $this->assertInternalType("string", $bytes); $this->assertSame($json['id'], $pet_id); // not testing name as it's tested by addPetUsingByteArray