From a281afaebfec699246a92298a7f948178ea8af36 Mon Sep 17 00:00:00 2001 From: wing328 Date: Sat, 23 Apr 2016 22:48:24 +0800 Subject: [PATCH] add requiredVars and optionalVars for codegen model --- .../src/main/java/io/swagger/codegen/CodegenModel.java | 2 ++ .../src/main/java/io/swagger/codegen/DefaultCodegen.java | 6 ++++++ .../petstore-with-fake-endpoints-models-for-testing.yaml | 3 +++ samples/client/petstore/php/SwaggerClient-php/README.md | 2 +- .../petstore/php/SwaggerClient-php/docs/FormatTest.md | 6 +++--- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java index a7866e5675a..62f5e27aa05 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java @@ -18,6 +18,8 @@ public class CodegenModel { public String discriminator; public String defaultValue; public List vars = new ArrayList(); + public List requiredVars = new ArrayList(); // a list of required properties + public List optionalVars = new ArrayList(); // a list of optional properties public List allVars; public List allowableValues; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index 1d485379588..76729c8b38a 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -2307,6 +2307,12 @@ public class DefaultCodegen { addImport(m, cp.baseType); addImport(m, cp.complexType); vars.add(cp); + + if (Boolean.TRUE.equals(cp.required)) { // if required, add to the list "requiredVars" + m.requiredVars.add(cp); + } else { // else add to the list "optionalVars" for optional property + m.optionalVars.add(cp); + } } } } diff --git a/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml b/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml index 01c0be8c9a3..2a90f5de066 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml +++ b/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml @@ -755,6 +755,9 @@ definitions: type: object required: - number + - byte + - date + - password properties: integer: type: integer diff --git a/samples/client/petstore/php/SwaggerClient-php/README.md b/samples/client/petstore/php/SwaggerClient-php/README.md index efc4130e160..80e8d1bae7a 100644 --- a/samples/client/petstore/php/SwaggerClient-php/README.md +++ b/samples/client/petstore/php/SwaggerClient-php/README.md @@ -5,7 +5,7 @@ This PHP package is automatically generated by the [Swagger Codegen](https://git - API version: 1.0.0 - Package version: 1.0.0 -- Build date: 2016-04-23T16:49:49.572+08:00 +- Build date: 2016-04-23T22:48:00.795+08:00 - Build package: class io.swagger.codegen.languages.PhpClientCodegen ## Requirements diff --git a/samples/client/petstore/php/SwaggerClient-php/docs/FormatTest.md b/samples/client/petstore/php/SwaggerClient-php/docs/FormatTest.md index e0598317f5e..e043ee8d2b8 100644 --- a/samples/client/petstore/php/SwaggerClient-php/docs/FormatTest.md +++ b/samples/client/petstore/php/SwaggerClient-php/docs/FormatTest.md @@ -10,11 +10,11 @@ Name | Type | Description | Notes **float** | **float** | | [optional] **double** | **double** | | [optional] **string** | **string** | | [optional] -**byte** | **string** | | [optional] +**byte** | **string** | | **binary** | **string** | | [optional] -**date** | [**\DateTime**](Date.md) | | [optional] +**date** | [**\DateTime**](Date.md) | | **date_time** | [**\DateTime**](\DateTime.md) | | [optional] -**password** | **string** | | [optional] +**password** | **string** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)