Commit Graph

2337 Commits

Author SHA1 Message Date
Elizabeth Thomas
c4f7c4f3f9 Example Generator to populate model for all references of a given model (#5667)
* Example Generator to populate model for all references of a given model

* Fixing the space
2017-06-15 13:59:21 +08:00
Michael Kourlas
d20f83e643 [Java] Fix for issue #3638: Generated Java APIs incorrectly encode commas in certain query parameters (#4908)
* Fix for issue #3638

* Update tests for fix for issue #3638

* Fix bug when queryParams and collectionQueryParams are both specified

* Update tests

* Add certain tests back, address CI failures
2017-06-15 00:20:04 +08:00
wing328
2bc4710e36 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-06-12 20:57:26 +08:00
mmosemmle
62db9a09ee Fix issue 5793 (#5794)
* cast character to string.

* Check if variable name is reversed.

* Guard against reservedWordsMappings.
2017-06-11 22:06:19 +08:00
wing328
1da52bf8ba Merge remote-tracking branch 'origin/master' into 2.3.0 2017-06-11 21:43:34 +08:00
Jim Schubert
dabf01c3fa [kotlin] support collection format multi (#5792)
* [kotlin] support collectionFormat:multi

Adds "multi" support to collections.

Also changes generic lists (List<T>) to arrays. Generic lists and nested
lists can be problematic and require customized json factories. The
previous implement appeared to work because the results in the test were
LinkedHashMap with count greather than 0. The functional test has been
updated to force serialization and verify the results.

* [kotlin] Regenerate sample

* [kotlin] Update model test for Array changes
2017-06-09 15:40:18 +08:00
wing328
022eb0d379 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-06-09 15:24:53 +08:00
harishchoragudi
2d008be181 Fix for issue#5788 -CPPRest generated models are not using inheritance as specified in contract (#5791)
* fixed map to use value instead of mapentry while doing fromJson.

* cpprest models now use inheritance properly instead of always extending from ModelBase

* cpprest models now use inheritance properly instead of always extending from ModelBase

* removed a sysout used for debugging

* toJson() and fromJson() now leverages parent class's corresponding methods

* virtual is not needed as override essentially does the same thing.

* added docstring for getModelByName

* corrected the javadoc

* fixed @param issue in javadoc

* fixed @param uncapitalized P in param in javadoc
2017-06-09 01:41:20 +08:00
Romain d'Alverny
73f5266596 [Swift3] Set more liberal Swift3 decoder, behind lenientTypeCast option (#5795)
* [Swift3] Add lenientTypeCast option

When set to true, this generates a client JSON decoder
that will accept and cast mistyped values.

Here:
 - String => Bool ("true" instead of true),
 - String => Int ("123" instead of 123),
 - NSNumber => String (123 instead of "123").

The point is to allow the same client code to handle several
server implementations that may (sadly) not be up to spec,
or still be "evolving".

The conversion is not guaranteed if the input

Not a perfect/complete solution, not sure if it should be
activated along other casts, so kept behind an option.

* Update Petstore client code
2017-06-08 09:10:21 +08:00
Julien - JuH
9f81aa4bfc StaticHtml2Gen | Speed up appDescription rendering (#5722) 2017-06-07 18:35:17 +08:00
wing328
87bbbc1a1b Merge remote-tracking branch 'origin/master' into 230_merge_master 2017-06-05 23:27:11 +08:00
Jim Schubert
bc8fe0fd03 [csharp] date proper format (#5734)
* [csharp] Honor Swagger/OpenAPI 'date' format

Per spec
(https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types),
DateTime instances defined as 'date' datatype need to be serialized as
defined by full-date - RFC3339, which has the format:

full-date       = date-fullyear "-" date-month "-" date-mday

ref:
https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14

see #5513
see #5531

* [csharp] Regenerate sample

* [csharp] Include date format test
2017-06-05 00:57:00 +08:00
davidgri
00f2dc422d Issue5613 (#5616)
* Fixed Issue5162 consumes in GET-Methods

* Fixed Issue5613

* Ran the shell scripts under bin

* Tab removed
2017-06-05 00:38:43 +08:00
sdoeringNew
ffc0d32b9c #5712 put @JsonValue to appropriate place in generated enum, add TypeAdapter for Gson enums, enhance tests (#5713) 2017-06-02 16:03:32 +08:00
stkrwork
b53a668517 [C++] Restbed Server Stub Code Generator (#5742)
* - Added Restbed Generator

* - Added Json processing functions to model
- Removed unnused code from restbed codegen class
- Added response header processing to api template

* Changed it to respect alphabetical order

* Made the string joining java 7 compatible

* Added samples
2017-06-02 14:40:07 +08:00
wing328
08a11c1d75 fix c# net35 issue, add xml doc to new C# class (#5756) 2017-06-01 07:53:35 +08:00
wing328
98684d872c Merge remote-tracking branch 'origin/master' into 2.3.0 2017-06-01 07:10:03 +08:00
Jim Schubert
b671129557 [csharp] Refactor Configuration usage (#5740)
* [csharp] refactor ApiClient and Configuration usage

* # This is a combination of 2 commits.
# The first commit's message is:

[csharp] refactor ApiClient and Configuration usage

[csharp] Regenerate sample

# This is the 2nd commit message:

[csharp] Simplify setting apikey/prefix/headers

* # This is a combination of 2 commits.
# The first commit's message is:

[csharp] refactor ApiClient and Configuration usage
* Simplify setting apikey/prefix/headers
*  Regenerate sample

# This is the 2nd commit message:

[csharp] Pass-through configuration timeout to client

* [csharp] refactor ApiClient and Configuration usage

* Simplify setting apikey/prefix/headers
* Regenerate sample

* [csharp] Regenerate all client samples

* [csharp] regenerate .net standard/core samples

* [csharp] Fix Timeout diff between netstandard and non-netstandard

* [csharp] Resolve additional netStandard issues after merge

* [csharp] Update doc for Configuration usage
2017-06-01 06:06:36 +08:00
wing328
3bc7ad2ea1 Merge branch '2.3.0' of https://github.com/swagger-api/swagger-codegen into 2.3.0 2017-05-31 18:26:10 +08:00
Jonathan Leitschuh
d6f2424152 Fix spring generated controller annotations only generating for first return type (#5399)
Fixes the spring java code generator so that the ApiResponse fields are populated correctly
on the controller.

Related to #4693
2017-05-31 17:27:32 +08:00
Ian White
4673d02875 ensuring that swagger dates are treated as strings for all typescript clients (#5518) 2017-05-31 17:14:43 +08:00
wing328
0a8e845e47 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-31 16:30:52 +08:00
wing328
6473949737 Merge branch 'kotlin-api-model-docs' of https://github.com/jimschubert/swagger-codegen into jimschubert-kotlin-api-model-docs 2017-05-31 00:28:08 +08:00
Jim Schubert
23cf641e8a Kotlin client lists (#5729)
* [kotlin] array->List instead of Array

Serialization to/from primitive arrays can cause issues with valid
responses. This commit considers swagger 'array' types as 'List' which,
although not as memory efficient should provide a cleaner interface for
users (and avoid serialization issues).

Also, updates README.md to list new generator and excludes
folder at samples/client/kotlin/bin/, which is not used.

* [kotlin] Move sample under conventional directory

samples/client/kotlin/ -> samples/client/petstore/kotlin/

Updated new.sh to generate client/server/docs into similar structure.
Current documentation generators (cwiki, html, html.md, html2) aren't
following a convention like client/server generators.
2017-05-31 00:18:37 +08:00
wing328
4cffea4626 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-30 15:28:21 +08:00
Jim Schubert
87265d9ac7 [kotlin] api/model docs
This commit adds Api/Model/Auth documentation to the generated
README.md. Because auth support is not yet fully implemented (users can
manually set default headers globally), there aren't examples for helper
auth methods.

Models with inline enums document allowed values rather than pointing to
a generated enum class.

Two global additionalProperties were added (generateApiDocs,
generateModelDocs) to allow templates to conditionally display
documentatoin depending on these mutually exclusive settings. All
current generators supporting docs will attempt to link to generated
models when only api docs are specified.

This also moves the $@ bash parameter in bin/kotlin-client-petstore.sh
to the end of the args variable. This is because $@ can only be used to
pass System properties like -DdebugModels, can can already be passed as:

JAVA_OPTS="$JAVA_OPTS -DdebugModels" ./bin/kotlin-client-petstore.sh

By moving the $@ to the end of the args, it allows us to pass additional
properties and other switches directly to the script.
2017-05-29 22:12:55 -04:00
Jim Schubert
d6a98fa444 Kotlin client (#5727)
* Add new.sh helper script to create generator files

* [kotlin] Initial Kotlin client generator

* [kotlin] Generate sample

* [kotlin] Sample helper files not needed for generation, but for sample evaluation
2017-05-30 00:38:15 +08:00
wing328
18e6440bcc Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-30 00:12:34 +08:00
wing328
b84769d1e3 fix enum float value in C#, minor format fix in doc (#5726) 2017-05-29 22:16:42 +08:00
wing328
3df5b6f303 [Java] Fix float enum value by adding "f" (#5724)
* fix java float enum value

* update java petstore samples

* add comment explaining the fix
2017-05-29 19:34:04 +08:00
wing328
ef35b80bd8 Fixed missing isWildcard method used in templates 2017-05-29 11:45:28 +08:00
Soliman
009a039fc5 Fixed missing isWildcard method used in templates (#5714) 2017-05-29 11:34:09 +08:00
René Winkelmeyer
3d97d83f7a Apex update for NamedCredentials and Salesforce DX (#5717)
* Added mustache file for namedCredentials

* Removed Basic and OAuth from Apex API in favor of NamedCredentials

* Moved old README to README for ant deployment

* Added SFDX OSS descriptor

* Removed remoteSite mustache

* Changed package.xml from RemoteSite to NamedCredential

* Update ApexClientCodegen to support SFDX and namedCredentials

* Created initial README for Salesforce DX

* Ran Petstore test for Apex commit

* Fixed error in README mustache
2017-05-29 11:16:06 +08:00
wing328
4d705081c8 [PHP] Fix broken links in the auto-generated documentation (#5715)
* remove trailing space in cpprest, update samples

* remove unused pom.xml in go pestore

* fix broken links in php api doc by fixing baseType

* fix csharp api doc

* fix php examples

* fix examples for abstract php generator
2017-05-26 21:47:49 +08:00
wing328
424a70bd8c Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-26 17:35:36 +08:00
Takuro Wada
a2240ac619 [htmlDocs2] inconsistent python method name between html2 and python generator (#5711) 2017-05-26 17:24:06 +08:00
Svarog
84df23f025 Made httpMethod in curl example actually upper case in html2 to support firefox (#5558) (#5705) 2017-05-26 17:19:09 +08:00
wing328
41527ead54 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-24 20:13:31 +08:00
wing328
b024288df2 JS ES6 enhancements 2017-05-24 16:50:32 +08:00
Dinuka De Silva
ca139ffc05 Gh-4044: Enabling ES6 in javascript client (#5593)
* gh-4044: Added useES6 as an option for javascript templates

* gh-4044: Enabled ES6 in `javascript/api.mustache`

* gh-4044: Enabled ES6 in `javascript/ApiClient.mustache`

* gh-4044: Enabled ES6 in `javascript/enumClass.mustache`

* gh-4044: Added useES6 cli option to `javascript` clients and updated the test cases

* gh-4044: Enabled ES6 in `javascript/index.mustache`

* gh-4044: Enabled ES6 in `javascript` model templates
* `javascript/model.mustache`
* `javascript/partial_model_generic.mustache`
* `javascript/partial_model_enum_class.mustache`
* `javascript/partial_model_inner_enum.mustache`

* gh-4044: Separated `javascript-es6` templates to another folder

* gh-4044: Updated `javascript-es6/index.mustache`

* gh-4044: Enabled ES6 in `javascript-es6/api_doc.mustache`

* gh-4044: Added required dependencies for ES6

* gh-4044: Updated Supportig files for ES6 and non ES6

* gh-4044: Added test scripts to verify `javascript` useEs6 option

* gh-4044: Commented `javascript-es6` scripts due to the permission issues.
2017-05-24 16:35:54 +08:00
wing328
b18121ee9c Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-23 21:41:13 +08:00
kirpit
e12b22d5ce Implement generating interfaces option for api resources, closes #5453. (#5519)
* Implement generating interfaces option for api resources, closes swagger-api/swagger-codegen#5453.

This commit introduces another _system property_ for typescript-angular2, called `withInterfaces` that is default to `false`. You can activate this flag by:

```
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l typescript-angular2 -o samples/server/petstore/springboot/typescript-angular2 \
-D withInterfaces=true
```

If set to `true`, generated api resource classes will be implemented with their interfaces in separate files.

This change should not break and change the behaviour even though `withInterfaces` flag set to `true`. You are also welcome to create your own custom resource class by implementing those generated interfaces as they support defining new attributes with `[others: string]: any;` signature.

* Fix unit test for typescript/angular2 client options for "withInterfaces"

* Use double quote to follow coding standard

* Respect interface naming convention for typescript/angular2

 Create respectful interface names that ends with `Interface` suffix, instead of prefixing with `I` according to typescript naming convention. This is also consistent with their file names that also ends with `Interface.ts`.

 Also fixes the merge conflicts.

* Have better explanation for the `withInterfaces` system config
2017-05-23 21:40:21 +08:00
wing328
82740de5a0 Merge branch 'master' of https://github.com/christof-vollrath-bild-de/swagger-codegen into christof-vollrath-bild-de-master 2017-05-23 17:57:54 +08:00
René Winkelmeyer
9f1c3e3e50 Updated default Apex API version to v39 (Spring '17 release) (#5678) 2017-05-21 16:04:37 +08:00
wing328
651a3e388b Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-21 01:35:13 +08:00
wing328
8314f4e78a Add removeOperationIdPrefix option (#5674)
* add removeOperationIdPrefix option

* remove removeOperationIdPrefix from cli option for generators
2017-05-21 01:28:06 +08:00
wing328
7edf744426 [Apex] add petstore samples, shell scripts, batch files (#5672)
* add apex petstore samples, shell scripts, batch files

* add wording "beta" to Apex help
2017-05-20 01:02:08 +08:00
wing328
a0482a4038 Add support for Apex API client (#5669)
* Salesforce Apex support

* typo in function name

* comments for clarification

* DoubleProperty and FloatProperty are both DecimalProperty

* test models with default and provided example property values

* adding some more default example values
2017-05-19 23:18:52 +08:00
wing328
cc55dfbf13 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-18 16:22:42 +08:00
David Biesack
632a2e3949 Fix #5653 so body parameter schema link matches model anchor (#5655)
* Sync with upstream/master

* Fix for issue #5653

Override the toModelName(String name) [from DefaultCodegen] in StaticHtmlGenerator to return `name` unmodified
so that the anchors for models and the href for body parameters match case (do not convert model names to TitleCase.

* Revert "Fix for issue #5653"

This reverts commit 5472aa10a3101ea5dd417bc509c5d9c5351a3d66.

* Fix for issue #5653

Override the toModelName(String name) [from DefaultCodegen] in StaticHtmlGenerator to return `name` unmodified
so that the anchors for models and the href for body parameters match case (do not convert model names to TitleCase.
2017-05-18 15:16:42 +08:00