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 63b7fa386b14..9520ccc6ccea 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 9d908aafb6fd..ea448bd79a7a 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 f82e863d9944..62f22ee2f44a 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 942a53f88785..17d2ec808363 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 8d9053025d12..5a5a7058bdf3 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 ba1c690848a2..cf28a5c38de5 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 cf28a5c38de5..a11f4e35f159 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 a11f4e35f159..2e2f0b8984a2 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 26379c601058..c8bdfa2e3c27 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 1ec5bac0597a..0c070534a2e1 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 c0b3c46268c3..1cf6e0dfa0e0 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 92b5cba810a2..344018279825 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 3beeca44da5c..d80009a53805 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 c66c7678e764..2e9f8fe7ea9c 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 ab4ce49e95de..6738cddb5f93 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 c0b3c46268c3..1cf6e0dfa0e0 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 92b5cba810a2..344018279825 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 0f92ac8a0c07..3d6b77d819e8 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 f11a15471694..4540f973633f 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 0f92ac8a0c07..3d6b77d819e8 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 acd9004d882f..98e7ba24800d 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 c7abef02d61e..519e44bf217e 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 f8fa832cf8b4..ad427e91a872 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 bb85524762c0..f8efc998df66 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 7cdff02ad03e..6799a001558e 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 */