Commit Graph

2516 Commits

Author SHA1 Message Date
craffael
1f4013e7f1 [NancyFx] provide option to override package context (#6593)
* Retrofit2: Return ResponseBody if response if file.

Until now
--------------------
If a swagger endpoint returned a file (e.g. an image), then the Retrofit2
template has choosen the return type java.io.File. However, retrofit cannot
deal with this and throws a com.google.gson.stream.MalformedJsonException.

New:
-------------------
If a swagger endpoint returns a file, then the corresponding Retrofit2 endpoint
will return a okhttp3.ResponseBody which can be used to retrieve the file.

* Add the option packageContext for nancyFx which allows a better adjustment of the namespace.

* run nancyfx-petstore-server.bat
2017-10-02 11:10:09 +08:00
Benjamin Douglas
6e7ad13e1b Pre-calculate type aliases before processing models (#6559)
A type alias in this context is where a model is simply another name for a
primitive type, such as `MyString` in the following model definitions:

    MyList:
      type: array
      items:
        $ref: '#/definitions/MyString'
    MyString:
      type: string

It is valid to use a type alias as a property in another object or array model,
even if the object/array is defined before the alias is, as in the example
above. However, the current alias logic only looks "back" in list of previously
defined models, meaning that `MyList` would not know that `MyString` is an
alias. This change fixes the incorrect behavior by pre-calculating the list of
aliases before any models are processed. It also changes the test endpoint to
verify the correct behavior even when an object is defined before an alias it
uses.
2017-10-02 10:54:41 +08:00
Jon Schoning
8bd7d3912b [haskell-http-client] fixes for fake-endpoints (#6597)
* fix compile errors / sanitization for petstore-with-fake-endpoints-models-for-testing.yaml
* correct mimetype logic
* add makefile
2017-10-01 18:18:46 +08:00
wing328
82b6e81897 use String() to convert num, update TS angular samples 2017-09-30 17:28:07 +08:00
Adrian Moos
da37f40202 Add optional support for HttpClient (#6295)
* fix compilation error in eclipse

by updating package declarations in moved files
(eclipse validates that package and folder names match)

* permit specifying the full angular version

simplifying the templates by moving trivial case splits to the model

* remove dead code

this method is never called ...

* support HttpClient in addition to Http, clean up generated code

Fixes #6080

* added new sample, and regenerated existing samples

* updated samples

this time with the freshly build generator ...

* improve formatting

* updated samples

* fix compilation error in generated code

the overload for blobs does not have a type parameter

* added the first test for the utils package

* fix extra trainling commas in function argument lists

* regenerated samples
2017-09-30 17:19:39 +08:00
wing328
32b5f8d87d Merge branch 'master' of https://github.com/swagger-api/swagger-codegen 2017-09-28 14:02:55 +08:00
wing328
4c31983bd3 fix JS help text 2017-09-28 14:01:37 +08:00
Kenny Jones
d04b7642f6 Feature: Adds doc generation (#6570)
Reference #2359
2017-09-28 13:17:48 +08:00
wing328
2c7dcbe3e5 fix elixir model naming 2017-09-28 09:55:53 +08:00
Jeff Ching
4b9ee1f194 [Elixir] Improve Elixir client (#6550)
* Fix dependencies and generate model classes

* Better elixir client generation.

Responses are parsed and serialized by Poison into the model structs.
Use shared helper functions to generate the request.
Extract client connection configuration from api calls.

Elixir client can sanitize the operationId

Correctly output the model variables. Fix typos

Fix path replacement when there are multiple replacements

Cannot separate globally shared parameters from operations

Error handling for the tesla response

update templates

Can generate clients that compile

Can make requests - parse optional params, build query

Add oauth to connection. Fix connection directory

Add basic auth helper for creating a connection

Fix map types. Fix guard clauses for creaing connections

Add licenceInfo template. Parse config for moduleName via standard invokerPackage option

Can provide and inject a license header into all source files

fix location of connection.ex

Move shared code into reusable modules

Elixir filenames should be underscored

Fix visibility of helper functions

Parse the packageName from config options

Handle date and datetime fields with DateTime.from_iso8601

Fix indentation

Update documentation, add typespecs

Generate a standard elixir .gitignore

typespec is calculated recursively in java

Use the JSON middleware and using Poison.Decoder.decode on already parsed structs

move decoded struct into java

Fix handling of non-json responses

Switch basic auth to use the provided Tesla.Middleware.BasicAuth

Update README template to include the appDescription

Update sample elixir client

remove junk client models that don't belong with petstore

Only implement Poison.Decoder protocol if needed

Update samples with skipped Poison.Deocder impl

* Handle multipart file uploads

Handle building form params in the body

Files are handled as strings for input

* Requests with no defined return type will return the Tesla.Env response

* Run the bin/elixir-petstore.sh
2017-09-28 09:32:17 +08:00
lukoyanov
e2916fdc13 [Java] Play! framework + retrofit2 client exception converter, bug fixes (#6543)
* added exception converter

* underscore removal fix

* samples updated

* added test

* test whitespace
2017-09-26 14:14:04 +08:00
wing328
419ee1cc79 Add class prefix to tag with numbers (#6561)
* add class prefix to tag with numbers, update java to default tag name

* update codegen test
2017-09-25 15:23:27 +08:00
wing328
f5bc5ecc04 [Scala] Decommission "async-scala" generator (#6552)
* remove async-scala generator

* remove async-scala related scripts
2017-09-24 16:43:42 +08:00
Brad Crumb
c5c639b62b Zend Expressive fix and upgrade to version 2 (#6461)
* upgraded zend-expressive from version 1 to 2

* Changed error handler for compatibility with Zend Expressive 2

* generated newest sample files for Petstore ze-ph

* removed ErrorMiddleware because it is never been used anymore. Regenerated samples

* removed ErrorMiddleware Template from Codegen

* remove ErrorMiddleware from petstore sample

* Fixed some code styles

* regenerated ze-ph samples with corrected code styles

* added new line at the end of the file
2017-09-23 15:31:20 +08:00
Jean-François Côté
bcfd14551a Fixing conversion when it's an item of a collection + add missing isUuid in objects (#6473) 2017-09-22 00:54:10 +08:00
Akihito Nakano
594b390e11 [PHP] Fix #6474: Bug with 'format: date' when using --model-name-prefix (#6510)
* Add test case which repeats the issue #6474

* Add "date" to type mapping

* Update samples

./bin/php-petstore.sh
./bin/security/php-petstore.sh
2017-09-19 18:07:37 +08:00
ehyche
146b107774 Eliminate all Java compilation warnings for swift4 codegen module (#6467) 2017-09-19 09:46:27 +08:00
stkrwork
5443c0a94c [QT5][CPP] Fixing issue with maps in models (#6479)
* [QT5][CPP] Fixing issue with maps in models

- Adjusted init function to init map correctly
- Adjusted cleanup function to cleanup maps correctly

* Fixed formatting for samples
2017-09-19 09:31:53 +08:00
Jon Schoning
d928617b69 [haskell-http-client] use katip logger, default strict (#6478)
* change strictFields cli option default to True;

* use katip logging; add cli-option for monad-logger

* fix date parsing

* remove package.yaml
2017-09-19 01:24:38 +08:00
Barry Andrews
5f566255ac Add support for reserved-words-mappings to cpprest (#6501)
* Also handles automatic escaping for reserved words, i.e.
  by default, no need to provide a mapping.
Fix #6498
2017-09-19 01:14:47 +08:00
wing328
591149bcb7 Better logic to handle tags with special characters (#6466)
* better logic to handle tag with special characters

* update test cases

* comment out swift test cases

* restore the swift tests
2017-09-12 11:41:14 +08:00
wing328
9e0911b376 [ObjC] fix NPE when getting swagger type (#6465)
* fix npe in swagger type (objc)

* remove trailing spaces
2017-09-11 17:39:12 +08:00
wing328
afb75d64d0 fix NPE in get swagger type (#6462) 2017-09-10 02:16:08 +08:00
wing328
a2cb35b1e9 Merge branch 'master' of https://github.com/swagger-api/swagger-codegen 2017-09-09 17:18:16 +08:00
wing328
35cf42996a add note to deprecate swift generator 2017-09-09 17:16:04 +08:00
Jon Schoning
4fb612c2e8 [haskell-http-client] update documentation; refactoring; add 'strictFields' cli option (#6458)
* update readme; remove unused DeriveAnyClass extension

* refactor request/param utility functions

* add strictFields cli option

* add CONTRIBUTING.md
2017-09-09 17:11:46 +08:00
Jon Schoning
4310ea326c [haskell-http-client] update readme; improve lens generation; fix dateFormat (#6448)
* point readme links to canonical locations

* use lenses for non-required model fields, instead of traversals

* fix .gitignore generation

* fix dateFormat cli option bug
2017-09-07 23:17:49 +08:00
Jean-François Côté
0cf82d7ae3 [All generators] Supports of hyphen-case to camelCase (#6399)
* Supports of hyphen-case to camelCase

* Add unit tests for the new section in the camelize function.
2017-09-07 13:14:22 +08:00
Dário Tavares Antunes
29a3a4b336 [Java] Handle Long in enum correctly (#6342)
Resolves #6338
2017-09-07 02:19:19 +08:00
wing328
845f54da99 [Java] fix bug to only remove "CustomInstantDeserializer" for Play v2.5 (#6444)
* fix bug to only remove CustomInstantDeserializer for play25

* revise logic

* fix logic for CustomInstantDeserializer.java
2017-09-07 00:18:39 +08:00
manuc66
a41e8bed97 [csharp] Support inheritance instead of duplicating parent properties in derived classes (#5922)
* [csharp] Explicitly set supportsInheritance

* [csharp] set supportsInheritance for client

This includes supportsInheritance only for the client codegen at the
moment, because setting in AbstractCSharpCodegen would require the
change to be tested in all derived generators, possibly including
similar template changes to this commit's.

* include nice improvement of https://github.com/jimschubert/swagger-codegen/tree/csharp/3829 and leverage https://github.com/manuc66/JsonSubTypes for subtype deserialization

* remove duplicate base validations

* remove useless tests

* restore documentation for properties coming from parent

* launch bin/security/csharp-petstore.sh

* it's impossible to call an explicitly implemented interface-method on the base class
(https://stackoverflow.com/questions/5976216/how-to-call-an-explicitly-implemented-interface-method-on-the-base-class)

* restore portion of code that was lost

* regenerate more

* fix missing using

* take the multi .net compatible revision

* keep generated model simple when no hierarchy involved

* regenerate with:
- bin/csharp-petstore-all.sh && bin/security/csharp-petstore.sh
- bin/csharp-dotnet2-petstore.sh && bin/csharp-petstore.sh && bin/csharp-petstore-netcore-project.sh && bin/csharp-petstore-net-standard.sh && bin/csharp-property-changed-petstore.sh

* fix sln indentation and the missing windows runner for dotnet2

* fix inheritance GetHashCode and Equals

* override instead of hiding the base method
+ fix the csharp-property-changed-petstore.bat

* By default the value of the discriminator property must be the name of the current schema

* Add test for subtype deserialisation from parent type

* add missing '.bat' and use the 'call' template from javascript-petstore-all.bat

add missing file to trigger it on windows

* fix default value bug

* cleanup copyright information

* formatting after merge

* fix merge

* applying bin/csharp-petstore-all.sh

* applying bin/security/csharp-petstore.sh
2017-09-06 17:22:20 +08:00
Jon Schoning
c7d145a4ba add haskell-http-client-generator (#6429) 2017-09-06 00:33:48 +08:00
Alex
4eab5406c5 Added ModelInterface for PHP Models (#6331)
All Model classes include a set of methods - it makes sense to align them to a concrete interface to improve strict typing when referencing these models.
2017-09-05 22:22:18 +08:00
Takuro Wada
84bb749cc3 [typescript-angular] add customized encoder to use '+' char in query parameter #6306 (#6334) 2017-09-05 22:04:23 +08:00
wing328
a4c0975aa4 [R] Add new R client generator (#6351)
* add r client codegen

* update r api, model templates

* various fix

* rename Json to JSON

* more enhancements

* fix json handling

* add file upload support, var name to handle hyphen

* use httr::upload_file
2017-09-04 00:21:32 +08:00
wing328
c1f5de91bb add comment, update ruby, php samples 2017-09-03 23:20:55 +08:00
Daniel Ochoa Rodríguez
cfa2074802 Fix Uuid parse (#6382)
* Fix Uuid parse

* Add isString = true when property is Uuid

This will not break previous code

* Update conversionBegin.mustache

* Update conversionEnd.mustache
2017-09-03 23:10:25 +08:00
Giacomo
a1c1a82725 - Added javax.validation.Valid annotation to modules/swagger-codegen/… (#6398)
* - Added javax.validation.Valid annotation to modules/swagger-codegen/src/main/resources/JavaJaxRS/spec/bodyParams.mustache
- Added bean validation and api description to modules/swagger-codegen/src/main/resources/JavaJaxRS/spec/headerParams.mustache
- Added api description to modules/swagger-codegen/src/main/resources/JavaJaxRS/spec/queryParams.mustache
- Added interfaceOnly parameter management to modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJAXRSSpecServerCodegen.java to generate only interfaces and models.
- Added interfaceOnly parameter management to modules/swagger-codegen/src/main/resources/JavaJaxRS/spec/api.mustache
- Added throws java.lang.Exception to modules/swagger-codegen/src/main/resources/JavaJaxRS/spec/api.mustache

* Run ./bin/jaxrs-spec-petstore-server.sh

* jaxrs-spec: javax.validation.Valid model attributes for array items

* Run ./bin/jaxrs-spec-petstore-server.sh
2017-09-03 22:45:35 +08:00
Ahmed Charles
60766c6210 Make the Rust codegen compile. (#6411)
* Use the right package name for the Rust crate.

* Change getters on models to return Option for non-required fields.

* Cleanup Rust generation and get example compiling again.

* Use underscore names for functions.
2017-09-02 00:06:55 +08:00
Christian Röder
adf5d643d5 [Kotlin] Fix model enum generation (#6383)
Run postProcessModelsEnum on model enums, so that enumVars get populated,
and fix the model enum template.
2017-09-01 23:11:21 +08:00
lukoyanov
a2c4f0baf4 [Java] Implemented support for Play! 2.5.x (java8) for retrofit2 client (#6007)
* Implemented support for Play! 2.5.x / java8

* Added petstore sample for play25

* implemented play25 support
implemented version switch via playVersion config option

* fixed compilation failure after merge

* Disabled generation of CustomInstantDeserializer if dateLibrary equals to java8
2017-08-31 23:02:09 +08:00
Shimin Guo
37f48239b0 Map ByteArray to Text for haskell codegen (#6402)
* Support ByteArray in haskell codegen

* update petstore example
2017-08-31 10:19:42 +08:00
David Fischer
506c58ec74 [JaxRS] Fix response annotation generation (fixes #2588) (#6373)
* [JaxRS] Fix response annotation generation (fixes #2588)

* [JaxRS] Fix jaxrs jersey1 usetags sample provider

* Revert "[JaxRS] Fix jaxrs jersey1 usetags sample provider"

This reverts commit 73fef2e451e376b23f6c1d43d8781f0b4a0bd1f5.

* [JaxRS] Fix jaxrs jersey1 sample generator

* [JaxRS] Fix samples for jersey1 and jersey2

* [Server: Java] Fix diamond operator defaultValue for Java < 1.7
2017-08-30 00:31:56 +08:00
Damien Pontifex
14f0375bdd Codegen class rename for Angular and AngularJS to reflect naming guidelines (#6109)
* Rrename for angular and angularjs to reflect naming guidelines

see http://angularjs.blogspot.com.au/2017/01/branding-guidelines-for-angular-and.html
- move makes typescript-angular -> typescript-angularjs
- move makes typescript-angular2 -> typescript-angular
Language string with generate was already this so generation shouldnt change
but class naming follows this convention now

* Fixing merge problems
2017-08-28 18:32:50 +08:00
Yusuke Tsutsumi
8bdaf493dd implemented tornado-based client. (#6367) 2017-08-28 15:10:06 +08:00
Isman Usoh
3ecc374682 [Typescript-Fetch] Support additionalproperties, Enum, Auth and more. (#6130)
* Support additionalproperties and more.
- Upgrade to TypeScript 2
- Use type definition from npm instead of typings, typings is deprecation
- Use Enum instead of String Literal Types
- Use typescript es6 lib for target es5
- Support additionalproperties
- Support JSDoc
- Add snapshot and npmRepository option
- Update typescript-fetch run script for linux
- Create typescript-fetch run script for windows

* Update and fix
- Fix circle run script
- Fix duplicate query parameter

* Rename typescript-fetch folder to lowercase

* Fix for review and update new line end of file

* Fix end of file

* rename script to {lang}-petstore-all.sh and fix test

* Fix override query string
https://stackoverflow.com/a/7517673/1077943
2017-08-25 23:26:32 +08:00
stmeyer
6c8bd6b83e [QT5CPP] General Improvements (#6315)
* - check C++ keywords
- setter for SSL configuration

* recreate example QT5CPP

* only emit error signal if error happens

* provide more error information

* regenerate example QT5CPP

* * use reserved words in abstract cpp generator
* update CppRest examples

* remove tabs
2017-08-25 18:35:56 +08:00
Christian Röder
8a423d2aa5 Kotlin: Use packageName option for all classes (#6365)
Use the optional packageName parameter for model and api classes,
additionally to the infrastructure classes.

Fixes #6364
2017-08-24 10:44:02 +08:00
Michael Werle
0fe8c7c96f [Java] Valid generated classes with fullJavaUtil (#6357)
Partial fix for #2936; will fix the ArrayList/HashMap import issue in generated Java client code.
2017-08-24 10:35:43 +08:00
wing328
d6c95226c7 minor code formatting fix 2017-08-19 12:11:47 +08:00