From dfc8f7c60f32f04870351560c9eeba1b8a1b3f57 Mon Sep 17 00:00:00 2001 From: David Valdez Date: Thu, 26 Feb 2015 12:42:41 -0800 Subject: [PATCH 01/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 63b7fa386b1..9520ccc6cce 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ public class MyObjcCodegen extends ObjcClientCodegen { and specify the `classname` when running the generator: ``` --i com.mycompany.swagger.codegen.MyObjcCodegen +-l com.mycompany.swagger.codegen.MyObjcCodegen ``` Your subclass will now be loaded and overrides the `PREFIX` value in the superclass. From d313d4da3f5d5f9bbf9f9f448642c4e54d070bb9 Mon Sep 17 00:00:00 2001 From: gandrianakis Date: Wed, 25 Feb 2015 19:31:50 +0200 Subject: [PATCH 02/11] Fixed bug that prevented Objective-C code from compiling when using a Swagger 'map' type --- .../wordnik/swagger/codegen/DefaultCodegen.java | 16 ++++++++++------ .../codegen/languages/ObjcClientCodegen.java | 13 ++++++++++++- .../src/main/resources/objc/model-body.mustache | 2 +- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java index 9d908aafb6f..ea448bd79a7 100644 --- a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java @@ -519,16 +519,20 @@ public class DefaultCodegen { property.isPrimitiveType = true; } else { - property.isNotContainer = true; - if(languageSpecificPrimitives().contains(type)) - property.isPrimitiveType = true; - else - property.complexType = property.baseType; + setNonArrayMapProperty(property, type); } return property; } - public CodegenOperation fromOperation(String path, String httpMethod, Operation operation){ + protected void setNonArrayMapProperty(CodegenProperty property, String type) { + property.isNotContainer = true; + if(languageSpecificPrimitives().contains(type)) + property.isPrimitiveType = true; + else + property.complexType = property.baseType; + } + + public CodegenOperation fromOperation(String path, String httpMethod, Operation operation){ CodegenOperation op = CodegenModelFactory.newInstance(CodegenModelType.OPERATION); Set imports = new HashSet(); diff --git a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/languages/ObjcClientCodegen.java b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/languages/ObjcClientCodegen.java index f82e863d994..62f22ee2f44 100644 --- a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/languages/ObjcClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/languages/ObjcClientCodegen.java @@ -168,7 +168,18 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { } } - @Override + @Override + protected void setNonArrayMapProperty(CodegenProperty property, String type) { + super.setNonArrayMapProperty(property, type); + if("NSDictionary".equals(type)) { + property.setter = "initWithDictionary"; + } + else { + property.setter = "initWithValues"; + } + } + + @Override public String toModelImport(String name) { if("".equals(modelPackage())) return name; diff --git a/modules/swagger-codegen/src/main/resources/objc/model-body.mustache b/modules/swagger-codegen/src/main/resources/objc/model-body.mustache index 942a53f8878..17d2ec80836 100644 --- a/modules/swagger-codegen/src/main/resources/objc/model-body.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/model-body.mustache @@ -39,7 +39,7 @@ } {{/isContainer}}{{#isNotContainer}} if({{name}}_dict != nil) - _{{name}} = [[{{#instantiationType}}NSClassFromString(@"{{{instantiationType}}}") {{/instantiationType}}{{^instantiationType}}{{{complexType}}} {{/instantiationType}} alloc]initWithValues:{{name}}_dict]; + _{{name}} = [[{{#instantiationType}}NSClassFromString(@"{{{instantiationType}}}") {{/instantiationType}}{{^instantiationType}}{{{complexType}}} {{/instantiationType}} alloc]{{setter}}:{{name}}_dict]; {{/isNotContainer}} {{/complexType}} {{/vars}}{{newline}} From b2cfb772226cdbb20ba5efe2c7cef022ad933a07 Mon Sep 17 00:00:00 2001 From: James Ebentier Date: Mon, 9 Mar 2015 18:18:20 -0700 Subject: [PATCH 03/11] Python: fixing an issue in swagger python code generation where attribute classes aren't respected --- .../swagger-codegen/src/main/resources/python/swagger.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/resources/python/swagger.mustache b/modules/swagger-codegen/src/main/resources/python/swagger.mustache index 8d9053025d1..5a5a7058bdf 100644 --- a/modules/swagger-codegen/src/main/resources/python/swagger.mustache +++ b/modules/swagger-codegen/src/main/resources/python/swagger.mustache @@ -226,7 +226,7 @@ class ApiClient: subValues.append(self.deserialize(subValue, subClass)) setattr(instance, attr, subValues) else: - setattr(instance, attr, self.deserialize(value, objClass)) + setattr(instance, attr, self.deserialize(value, attrType)) return instance From 1887170dad90f475b44bb781671ffadb4192519f Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Mon, 9 Mar 2015 09:32:22 -0700 Subject: [PATCH 04/11] updated links --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ba1c690848a..cf28a5c38de 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ You can build a client against the swagger sample [petstore](http://petstore.swa This will run the generator with this command: ``` -java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.0-M1.jar \ +java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.2-M1.jar \ -i http://petstore.swagger.io/v2/swagger.json \ -l java \ -o samples/client/petstore/java @@ -189,7 +189,7 @@ You can also use the codegen to generate a server for a couple different framewo ### node.js ``` -java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.0-M1.jar \ +java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.2-M1.jar \ -i http://petstore.swagger.io/v2/swagger.json \ -l nodejs \ -o samples/server/petstore/nodejs @@ -201,7 +201,7 @@ java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distributi ### scala scalatra ``` -java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.0-M1.jar \ +java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.2-M1.jar \ -i http://petstore.swagger.io/v2/swagger.json \ -l scalatra \ -o samples/server/petstore/scalatra @@ -210,7 +210,7 @@ java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distributi ### java jax-rs ``` -java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.0-M1.jar \ +java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.2-M1.jar \ -i http://petstore.swagger.io/v2/swagger.json \ -l jaxrs \ -o samples/server/petstore/jaxrs From 5b72653d7f1ce82ed26110571f1904cadd41fdd4 Mon Sep 17 00:00:00 2001 From: David Valdez Date: Thu, 26 Feb 2015 12:42:41 -0800 Subject: [PATCH 05/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf28a5c38de..a11f4e35f15 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ public class MyObjcCodegen extends ObjcClientCodegen { and specify the `classname` when running the generator: ``` --i com.mycompany.swagger.codegen.MyObjcCodegen +-l com.mycompany.swagger.codegen.MyObjcCodegen ``` Your subclass will now be loaded and overrides the `PREFIX` value in the superclass. From c1e45a593106115791a1e5534261984095cfb984 Mon Sep 17 00:00:00 2001 From: Jhonathan Wyterlin Date: Fri, 13 Mar 2015 10:35:59 -0300 Subject: [PATCH 06/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a11f4e35f15..2e2f0b8984a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Check out [Swagger-Spec](https://github.com/swagger-api/swagger-spec) for additi ## Compatibility The Swagger Specification has undergone 3 revisions since initial creation in 2010. The swagger-codegen project has the following compatibilities with the swagger specification: -Swagger Codegen Version | Release Date | Swagger Spec compatability | Notes +Swagger Codegen Version | Release Date | Swagger Spec compatibility | Notes ----------------------- | ------------ | -------------------------- | ----- 2.1.2-M1 (master) | 2015-02-23 | 1.0, 1.1, 1.2, 2.0 | [tag v2.1.0-M1](https://github.com/swagger-api/swagger-codegen) 2.0.17 | 2014-08-22 | 1.1, 1.2 | [tag v2.0.17](https://github.com/swagger-api/swagger-codegen/tree/v2.0.17) From b73340ab8339b72a407a0acb3d0d89fa7d4eed7e Mon Sep 17 00:00:00 2001 From: sosso Date: Tue, 17 Mar 2015 11:39:32 -0700 Subject: [PATCH 07/11] Java: properly add request headers https://jersey.java.net/nonav/apidocs/1.8/jersey/com/sun/jersey/api/client/PartialRequestBuilder.html#header(java.lang.String, java.lang.Object) We were running into issues with our headers not making it into our requests. Upon some research, it appears that Jersey's header() method returns the builder object, meaning we have to do this assignment to properly construct the request. After making the change, our requests work as expected. --- .../src/main/resources/Java/apiInvoker.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/Java/apiInvoker.mustache b/modules/swagger-codegen/src/main/resources/Java/apiInvoker.mustache index 26379c60105..c8bdfa2e3c2 100644 --- a/modules/swagger-codegen/src/main/resources/Java/apiInvoker.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/apiInvoker.mustache @@ -106,12 +106,12 @@ public class ApiInvoker { Builder builder = client.resource(host + path + querystring).accept("application/json"); for(String key : headerParams.keySet()) { - builder.header(key, headerParams.get(key)); + builder = builder.header(key, headerParams.get(key)); } for(String key : defaultHeaderMap.keySet()) { if(!headerParams.containsKey(key)) { - builder.header(key, defaultHeaderMap.get(key)); + builder = builder.header(key, defaultHeaderMap.get(key)); } } ClientResponse response = null; From c82b31aa61b653fbd78f87964cd64115e8959cd0 Mon Sep 17 00:00:00 2001 From: gandrianakis Date: Thu, 19 Mar 2015 11:07:54 +0200 Subject: [PATCH 08/11] Reintroduce objc dictionary fix to updated develop_2.0 branch --- .../com/wordnik/swagger/codegen/DefaultCodegen.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java index 1ec5bac0597..0c070534a2e 100644 --- a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java @@ -554,14 +554,18 @@ public class DefaultCodegen { property.isPrimitiveType = true; } else { - property.isNotContainer = true; + setNonArrayMapProperty(property, type); + } + return property; + } + + protected void setNonArrayMapProperty(CodegenProperty property, String type) { + property.isNotContainer = true; if(languageSpecificPrimitives().contains(type)) property.isPrimitiveType = true; else property.complexType = property.baseType; } - return property; - } private Response findMethodResponse(Map responses) { From 02283fae46fdae768fb0f61a1ea0f5aa2fb3ffbb Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 19 Mar 2015 17:09:27 +0800 Subject: [PATCH 09/11] udpate ruby api client to support user-agent --- .../src/main/resources/ruby/swagger/configuration.mustache | 6 +++--- .../src/main/resources/ruby/swagger/request.mustache | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/ruby/swagger/configuration.mustache b/modules/swagger-codegen/src/main/resources/ruby/swagger/configuration.mustache index c0b3c46268c..1cf6e0dfa0e 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/swagger/configuration.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/swagger/configuration.mustache @@ -3,7 +3,7 @@ module Swagger class Configuration require 'swagger/version' - attr_accessor :format, :api_key, :username, :password, :auth_token, :scheme, :host, :base_path, :user_agent, :logger, :inject_format, :force_ending_format, :camelize_params + attr_accessor :format, :api_key, :username, :password, :auth_token, :scheme, :host, :base_path, :user_agent, :logger, :inject_format, :force_ending_format, :camelize_params, :user_agent # Defaults go in here.. def initialize @@ -11,7 +11,7 @@ module Swagger @scheme = 'http' @host = 'api.wordnik.com' @base_path = '/v4' - @user_agent = "ruby-#{Swagger::VERSION}" + @user_agent = "ruby-swagger-#{Swagger::VERSION}" @inject_format = true @force_ending_format = false @camelize_params = true @@ -19,4 +19,4 @@ module Swagger end -end \ No newline at end of file +end diff --git a/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache b/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache index 92b5cba810a..34401827982 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/swagger/request.mustache @@ -19,7 +19,8 @@ module Swagger # Set default headers default_headers = { 'Content-Type' => "application/#{attributes[:format].downcase}", - :api_key => Swagger.configuration.api_key + :api_key => Swagger.configuration.api_key, + 'User-Agent' => Swagger.configuration.user_agent } # api_key from headers hash trumps the default, even if its value is blank From a149bb91207ae78955891ca8d8704913d2ce2260 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 19 Mar 2015 17:17:39 +0800 Subject: [PATCH 10/11] update ruby petstore example --- samples/client/petstore/ruby/lib/PetApi.rb | 26 +++++++++---------- samples/client/petstore/ruby/lib/StoreApi.rb | 6 ++--- samples/client/petstore/ruby/lib/UserApi.rb | 18 ++++++------- .../ruby/lib/swagger/configuration.rb | 6 ++--- .../petstore/ruby/lib/swagger/request.rb | 3 ++- 5 files changed, 30 insertions(+), 29 deletions(-) diff --git a/samples/client/petstore/ruby/lib/PetApi.rb b/samples/client/petstore/ruby/lib/PetApi.rb index 3beeca44da5..d80009a5380 100644 --- a/samples/client/petstore/ruby/lib/PetApi.rb +++ b/samples/client/petstore/ruby/lib/PetApi.rb @@ -16,7 +16,7 @@ class PetApi # set default values and merge with input options = { - :body => body + :'body' => body }.merge(opts) @@ -77,7 +77,7 @@ class PetApi # set default values and merge with input options = { - :body => body + :'body' => body }.merge(opts) @@ -138,7 +138,7 @@ class PetApi # set default values and merge with input options = { - :status => status + :'status' => status }.merge(opts) @@ -180,7 +180,7 @@ class PetApi # set default values and merge with input options = { - :tags => tags + :'tags' => tags }.merge(opts) @@ -222,7 +222,7 @@ class PetApi # set default values and merge with input options = { - :petId => petId + :'petId' => petId }.merge(opts) @@ -264,9 +264,9 @@ class PetApi # set default values and merge with input options = { - :petId => petId, - :name => name, - :status => status + :'petId' => petId, + :'name' => name, + :'status' => status }.merge(opts) @@ -309,8 +309,8 @@ class PetApi # set default values and merge with input options = { - :api_key => api_key, - :petId => petId + :'api_key' => api_key, + :'petId' => petId }.merge(opts) @@ -351,9 +351,9 @@ class PetApi # set default values and merge with input options = { - :petId => petId, - :additionalMetadata => additionalMetadata, - :file => file + :'petId' => petId, + :'additionalMetadata' => additionalMetadata, + :'file' => file }.merge(opts) diff --git a/samples/client/petstore/ruby/lib/StoreApi.rb b/samples/client/petstore/ruby/lib/StoreApi.rb index c66c7678e76..2e9f8fe7ea9 100644 --- a/samples/client/petstore/ruby/lib/StoreApi.rb +++ b/samples/client/petstore/ruby/lib/StoreApi.rb @@ -57,7 +57,7 @@ class StoreApi # set default values and merge with input options = { - :body => body + :'body' => body }.merge(opts) @@ -119,7 +119,7 @@ class StoreApi # set default values and merge with input options = { - :orderId => orderId + :'orderId' => orderId }.merge(opts) @@ -161,7 +161,7 @@ class StoreApi # set default values and merge with input options = { - :orderId => orderId + :'orderId' => orderId }.merge(opts) diff --git a/samples/client/petstore/ruby/lib/UserApi.rb b/samples/client/petstore/ruby/lib/UserApi.rb index ab4ce49e95d..6738cddb5f9 100644 --- a/samples/client/petstore/ruby/lib/UserApi.rb +++ b/samples/client/petstore/ruby/lib/UserApi.rb @@ -16,7 +16,7 @@ class UserApi # set default values and merge with input options = { - :body => body + :'body' => body }.merge(opts) @@ -77,7 +77,7 @@ class UserApi # set default values and merge with input options = { - :body => body + :'body' => body }.merge(opts) @@ -138,7 +138,7 @@ class UserApi # set default values and merge with input options = { - :body => body + :'body' => body }.merge(opts) @@ -199,8 +199,8 @@ class UserApi # set default values and merge with input options = { - :username => username, - :password => password + :'username' => username, + :'password' => password }.merge(opts) @@ -280,7 +280,7 @@ class UserApi # set default values and merge with input options = { - :username => username + :'username' => username }.merge(opts) @@ -322,8 +322,8 @@ class UserApi # set default values and merge with input options = { - :username => username, - :body => body + :'username' => username, + :'body' => body }.merge(opts) @@ -385,7 +385,7 @@ class UserApi # set default values and merge with input options = { - :username => username + :'username' => username }.merge(opts) diff --git a/samples/client/petstore/ruby/lib/swagger/configuration.rb b/samples/client/petstore/ruby/lib/swagger/configuration.rb index c0b3c46268c..1cf6e0dfa0e 100644 --- a/samples/client/petstore/ruby/lib/swagger/configuration.rb +++ b/samples/client/petstore/ruby/lib/swagger/configuration.rb @@ -3,7 +3,7 @@ module Swagger class Configuration require 'swagger/version' - attr_accessor :format, :api_key, :username, :password, :auth_token, :scheme, :host, :base_path, :user_agent, :logger, :inject_format, :force_ending_format, :camelize_params + attr_accessor :format, :api_key, :username, :password, :auth_token, :scheme, :host, :base_path, :user_agent, :logger, :inject_format, :force_ending_format, :camelize_params, :user_agent # Defaults go in here.. def initialize @@ -11,7 +11,7 @@ module Swagger @scheme = 'http' @host = 'api.wordnik.com' @base_path = '/v4' - @user_agent = "ruby-#{Swagger::VERSION}" + @user_agent = "ruby-swagger-#{Swagger::VERSION}" @inject_format = true @force_ending_format = false @camelize_params = true @@ -19,4 +19,4 @@ module Swagger end -end \ No newline at end of file +end diff --git a/samples/client/petstore/ruby/lib/swagger/request.rb b/samples/client/petstore/ruby/lib/swagger/request.rb index 92b5cba810a..34401827982 100644 --- a/samples/client/petstore/ruby/lib/swagger/request.rb +++ b/samples/client/petstore/ruby/lib/swagger/request.rb @@ -19,7 +19,8 @@ module Swagger # Set default headers default_headers = { 'Content-Type' => "application/#{attributes[:format].downcase}", - :api_key => Swagger.configuration.api_key + :api_key => Swagger.configuration.api_key, + 'User-Agent' => Swagger.configuration.user_agent } # api_key from headers hash trumps the default, even if its value is blank From ab8d62214aec6dcabaa77a5878fa75b9677c140f Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 19 Mar 2015 20:58:22 +0800 Subject: [PATCH 11/11] add attributemap to php model, update php petstore sample --- .../src/main/resources/php/Swagger.mustache | 5 +++-- .../src/main/resources/php/model.mustache | 7 ++++++- samples/client/petstore/php/Swagger.php | 5 +++-- samples/client/petstore/php/models/Category.php | 7 ++++++- samples/client/petstore/php/models/Order.php | 11 ++++++++++- samples/client/petstore/php/models/Pet.php | 11 ++++++++++- samples/client/petstore/php/models/Tag.php | 7 ++++++- samples/client/petstore/php/models/User.php | 13 ++++++++++++- 8 files changed, 56 insertions(+), 10 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/php/Swagger.mustache b/modules/swagger-codegen/src/main/resources/php/Swagger.mustache index 0f92ac8a0c0..3d6b77d819e 100644 --- a/modules/swagger-codegen/src/main/resources/php/Swagger.mustache +++ b/modules/swagger-codegen/src/main/resources/php/Swagger.mustache @@ -182,7 +182,7 @@ class APIClient { } else if (is_object($data)) { $values = array(); foreach (array_keys($data::$swaggerTypes) as $property) { - $values[$property] = $this->sanitizeForSerialization($data->$property); + $values[$data::$attributeMap[$property]] = $this->sanitizeForSerialization($data->$property); } $sanitized = $values; } else { @@ -295,7 +295,8 @@ class APIClient { $instance = new $class(); foreach ($instance::$swaggerTypes as $property => $type) { if (isset($data->$property)) { - $instance->$property = self::deserialize($data->$property, $type); + $original_property_name = $instance::$attributeMap[$property]; + $instance->$property = self::deserialize($data->$original_property_name, $type); } } $deserialized = $instance; diff --git a/modules/swagger-codegen/src/main/resources/php/model.mustache b/modules/swagger-codegen/src/main/resources/php/model.mustache index f11a1547169..4540f973633 100644 --- a/modules/swagger-codegen/src/main/resources/php/model.mustache +++ b/modules/swagger-codegen/src/main/resources/php/model.mustache @@ -28,7 +28,12 @@ class {{classname}} implements ArrayAccess { static $swaggerTypes = array( {{#vars}}'{{name}}' => '{{{datatype}}}'{{#hasMore}}, {{/hasMore}}{{/vars}} - ); + ); + + static $attributeMap = array( + {{#vars}}'{{name}}' => '{{baseName}}'{{#hasMore}}, + {{/hasMore}}{{/vars}} + ); {{#vars}}{{#description}} /** diff --git a/samples/client/petstore/php/Swagger.php b/samples/client/petstore/php/Swagger.php index 0f92ac8a0c0..3d6b77d819e 100644 --- a/samples/client/petstore/php/Swagger.php +++ b/samples/client/petstore/php/Swagger.php @@ -182,7 +182,7 @@ class APIClient { } else if (is_object($data)) { $values = array(); foreach (array_keys($data::$swaggerTypes) as $property) { - $values[$property] = $this->sanitizeForSerialization($data->$property); + $values[$data::$attributeMap[$property]] = $this->sanitizeForSerialization($data->$property); } $sanitized = $values; } else { @@ -295,7 +295,8 @@ class APIClient { $instance = new $class(); foreach ($instance::$swaggerTypes as $property => $type) { if (isset($data->$property)) { - $instance->$property = self::deserialize($data->$property, $type); + $original_property_name = $instance::$attributeMap[$property]; + $instance->$property = self::deserialize($data->$original_property_name, $type); } } $deserialized = $instance; diff --git a/samples/client/petstore/php/models/Category.php b/samples/client/petstore/php/models/Category.php index acd9004d882..98e7ba24800 100644 --- a/samples/client/petstore/php/models/Category.php +++ b/samples/client/petstore/php/models/Category.php @@ -26,7 +26,12 @@ class Category implements ArrayAccess { static $swaggerTypes = array( 'id' => 'int', 'name' => 'string' - ); + ); + + static $attributeMap = array( + 'id' => 'id', + 'name' => 'name' + ); public $id; /* int */ diff --git a/samples/client/petstore/php/models/Order.php b/samples/client/petstore/php/models/Order.php index c7abef02d61..519e44bf217 100644 --- a/samples/client/petstore/php/models/Order.php +++ b/samples/client/petstore/php/models/Order.php @@ -30,7 +30,16 @@ class Order implements ArrayAccess { 'shipDate' => 'DateTime', 'status' => 'string', 'complete' => 'boolean' - ); + ); + + static $attributeMap = array( + 'id' => 'id', + 'petId' => 'petId', + 'quantity' => 'quantity', + 'shipDate' => 'shipDate', + 'status' => 'status', + 'complete' => 'complete' + ); public $id; /* int */ diff --git a/samples/client/petstore/php/models/Pet.php b/samples/client/petstore/php/models/Pet.php index f8fa832cf8b..ad427e91a87 100644 --- a/samples/client/petstore/php/models/Pet.php +++ b/samples/client/petstore/php/models/Pet.php @@ -30,7 +30,16 @@ class Pet implements ArrayAccess { 'photoUrls' => 'array[string]', 'tags' => 'array[Tag]', 'status' => 'string' - ); + ); + + static $attributeMap = array( + 'id' => 'id', + 'category' => 'category', + 'name' => 'name', + 'photoUrls' => 'photoUrls', + 'tags' => 'tags', + 'status' => 'status' + ); public $id; /* int */ diff --git a/samples/client/petstore/php/models/Tag.php b/samples/client/petstore/php/models/Tag.php index bb85524762c..f8efc998df6 100644 --- a/samples/client/petstore/php/models/Tag.php +++ b/samples/client/petstore/php/models/Tag.php @@ -26,7 +26,12 @@ class Tag implements ArrayAccess { static $swaggerTypes = array( 'id' => 'int', 'name' => 'string' - ); + ); + + static $attributeMap = array( + 'id' => 'id', + 'name' => 'name' + ); public $id; /* int */ diff --git a/samples/client/petstore/php/models/User.php b/samples/client/petstore/php/models/User.php index 7cdff02ad03..6799a001558 100644 --- a/samples/client/petstore/php/models/User.php +++ b/samples/client/petstore/php/models/User.php @@ -32,7 +32,18 @@ class User implements ArrayAccess { 'password' => 'string', 'phone' => 'string', 'userStatus' => 'int' - ); + ); + + static $attributeMap = array( + 'id' => 'id', + 'username' => 'username', + 'firstName' => 'firstName', + 'lastName' => 'lastName', + 'email' => 'email', + 'password' => 'password', + 'phone' => 'phone', + 'userStatus' => 'userStatus' + ); public $id; /* int */