Commit Graph

9479 Commits

Author SHA1 Message Date
Stephane Carrez
cdc83ffd16 [Ada] Adding Ada client samples (#6634)
* Add Ada client petstore samples
- Add script to generate Ada client support with swagger-codegen
- Add files to build the Ada sample
- Add main program to use the generated client samples API
  and connect to the server to perform some operations

* Add some description for the samples

* Update the documentation to explain how to build, how to use the generated Ada client code
2017-10-08 12:16:23 +08:00
wing328
7a7dd6d4cd add ada style guide 2017-10-08 12:08:45 +08:00
Adrian Moos
eab9c72a42 represent swagger enums as union of literal types (#6233)
* represent swagger enums as union of literal types

enabling their easy use in angular templates, structural subtyping
among enums (in particular, different instances of the same enum
are now mutually assignable), improving type safety by preventing
incorrect widening, and permitting numeric enum values
(albeit without descriptive names)

Fixes #6206, #5146, #3500

* update samples

* restore blank lines at end of file

* fix typo
2017-10-07 21:42:46 +08:00
Greg Marzouka
cc756b5563 [Scala] Properly handle csv collectionFormat (#6540)
* Add support for lists of path parameters (eg instances), and default params for optional case classes

* Update Petstore sample

* Revert defaulting of case class fields to None

* Update Petstore sample
2017-10-07 18:24:08 +08:00
Jon Schoning
5b32e886f4 [haskell-http-client] add support for auth methods (#6622)
* add support for auth methods

* use newtypes for required params

* fix duplicate operationId issues

* prevent aliasing of vendorextension references in fromOperation

* add --fast to stack ci build
2017-10-07 17:12:48 +08:00
Andrea Rossi
0db4b32384 [objc] Let the developer specify the timezone to be used for date serialisation (#6628)
* [objc] Update deployment target to 8.0

Updates the test project deployment target to 8.0, as that's the lowest
supported by the latest XCode.

* [objc] Update petstore tests based on current master

Makes sure the tests are based on the latest version of master.

* [objc] Allow specifying the serialization timezone

Now it's possible to specify the timezone used for serializing dates
2017-10-07 13:44:35 +08:00
Gareth T
567ae3fd12 [GO CLIENT] Fix issue with generating code for API key (#6630)
* [GO CLIENT] Fix Go security query parameter generation by using correct string literal and using the Add method.

* Add generated files.
2017-10-07 12:05:48 +08:00
Akihito Nakano
42313af7a1 [PHP] Fix: Type object not handled properly in setParameterExampleValue (#6619)
* Add test which reproduce the warning #5338

https://github.com/swagger-api/swagger-codegen/issues/5338#issuecomment-292502895
`[main] WARN io.swagger.codegen.languages.PhpClientCodegen - Type object not handled properly in setParameterExampleValue`

* Fix Type object not handled properly in setParameterExampleValue

* Update samples

- /bin/php-petstore.sh
- /bin/security/php-petstore.sh
2017-10-06 15:56:13 +08:00
wing328
2f98ade693 fix inconsistent java naming (#6624) 2017-10-06 11:03:15 +08:00
niku
86803c0c24 [Elixir] Improve Elixir Client about primitive type spec (#6623)
Fix following dialyzer warnings in the sample:

```
:0: Unknown type 'Elixir.Float':t/0
:0: Unknown type 'Elixir.Integer':t/0
```
2017-10-06 09:16:27 +08:00
Gareth T
2644adb7a3 Note precisely which clients and servers can be used with Haskell. (#6625) 2017-10-06 09:10:31 +08:00
wing328
2e5289c4d7 add link to MS machine learning server 2017-10-05 23:07:53 +08:00
Brian
61b910fb82 [R] Added ApiClient and fixed other issues (#6571)
* Added namespace mustache to be generated

* Fixed syntax issues with package generation

* Added Response and Element mustache templates

* Added ApiClient

* Fix: Only required parameters needed for api operations

* Added documentation generated code

* Regenerated petstore samples

* Fixed url paths for operations

* Fixed based on comments in issues #6520

* Regenerated petstore samples
2017-10-05 01:07:06 +08:00
Cédric Grard
e49e7a056b Typo error fix (#6620) 2017-10-04 22:46:06 +08:00
Stephane Carrez
90010da61d [Ada] Adding Ada support for client code generator (#6602)
* Ada language support (generic generator)

Implement the AbstractAdaCodegen class with the Ada keywords and global
behavior for Ada language

* Ada language support (main generator)

Implement the AdaCodegen class for the Ada client and server code generator
Initial implementation based on a mix from CppRestClientCodegen, NodeJSServerCodegen

* Ada language support: register the AdaCodegen generator class

* Ada language license template

* Ada language model templates (spec and body)

* Ada language client spec and body templates

* Ada language server spec and body templates

* Fix escaping Ada keywords for parameter name

* Generate GNAT project and update type mappings
- Use 'p_' as escape prefix for parameter names because identifiers are not allowed to start with '_'
- Add GNAT project file generation
- Update the type mappings to use the Swagger package types

* Fix generation of operations with no parameters

* Fix instantiation of Ada.Containers.Vectors package in generated model files

* New template for the GNAT project file generation

* Fix datatype generation for Ada language
- Override the getTypeDeclaration function to specify the datatype
- Fix definition of language predefined types

* Add a Serialize procedure declaration for the Ada model generation

* Add a Serialize procedure for the Ada template model generation

* Fix operation name and parameter name for Ada
- Declare and implement toAdaIdentifier function to verify and turn some identifier
  to Ada identifier following Ada style
- Override toOperationId and use toAdaIdentifier for generation of operation name
- Update toParamName to use toAdaIdentifier

* Media type support for Ada code generator
- Implement postProcessMediaTypes function to add a 'adaMediaType' member
  to each media type and map it to some Ada enumeration
- Post process the 'produces' and 'consumes' media type of an operation

* Use x-has-notes extension to avoid emitting notes when they are empty

* First generation for Ada client operation body

* Add a x-has-uniq-produces and x-has-uniq-consumes to media types
to indicate that the list contains only one item, this is necessary
for Ada generator for generation of arrays with one item only

* Add a postProcessParameter for Ada code generator to emit a x-is-model-type attribute

* Update Ada client body template for the serialization of data

* Fix postProcessParameter in Ada code generator to take into account file parameters

* Update the Ada client body to support form parameters

* Fix type name used for mapped types in the Ada generator

* Declare a Deserialize procedure for the Ada generated model

* Override the fromOperation for Ada client code generator
- Emit a x-codegen-response extension with the response description type
- Emit a x-id-model-type extension for each type property

* Update the Ada client package spec template to declare the result type

* Add support to extract response and return result in Ada client code

* Fix Ada postProcessModels to handle container properties and emit a correct x-is-model-type attribute

* Add support for Deserialize procedure in the Ada model generator

* Fix indentation of generated Ada client body package

* Add projectName option to configure the GNAT project name

* Update the GNAT project name for the Ada code generator

* Cleanup implementation and remove unused code

* Cleanup implementation and remove unused code

* Fix javadoc errors

* Use 'ada' for the language name to follow swagger-codegen convention
Add (beta) to the help description
Fix a NPE that occurs with incomplete yaml descriptions
2017-10-04 11:51:04 +08:00
wing328
f7bd2c519e add new language "ada" 2017-10-04 11:49:40 +08:00
wing328
bf74e33c52 rename CsharpDotNet2 to csharp-dotnet2 (#6611) 2017-10-04 00:03:35 +08:00
wing328
5175281f32 rename silex-PHP to php-silex (#6612) 2017-10-03 23:46:56 +08:00
wing328
f62b81fdd0 add link to ntt presentation 2017-10-03 20:34:19 +08:00
Pierre Deman
74e31699da CsharpDotNet2Client - Use clientPackage in additionalProperties (#6581)
* CsharpDotNet2Client - Use clientPackage in additionalProperties if provided

* Give execution rights for csharp-dotnet2-petstore.sh

* Fix generation of C#.net2 apiPackage, modelPackage, clientPackage

* Fix modelPackage property missing when generating models

* Initialize clientPackage in constructor
2017-10-03 16:58:27 +08:00
craffael
1896e96648 [nancyfx] fix interface prefix (#6595)
* 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.

* fix Interface Prefix
2017-10-03 15:14:28 +08:00
wing328
28a5b74dbf add partial header to haskell http client (#6606) 2017-10-02 23:52:01 +08:00
wing328
900aad6da4 add links to blog posts in techium.jp 2017-10-02 21:14:09 +08:00
wing328
bb919346bf cache elixir deps 2017-10-02 13:15:49 +08:00
wing328
b5200ba12c cache stack in shippable ci 2017-10-02 13:06:45 +08:00
Trond Bolsø
44bf1d69cb Fix for self-referential imports in typescript-angular client (#6450) 2017-10-02 11:24:08 +08:00
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
c32281cd02 add haskell to shippable ci (#6600) 2017-10-01 14:24:04 +08:00
wing328
82b6e81897 use String() to convert num, update TS angular samples 2017-09-30 17:28:07 +08:00
wing328
f3e19e0fdc fix comma in method without parameters 2017-09-30 17:23:38 +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
e3c61cd1e4 add cbornet to python tech committee 2017-09-30 14:24:38 +08:00
wing328
634dc07719 update tech comm, fix broken link to 2.0.17 2017-09-29 22:02:41 +08:00
Jinkui Shi
063e885c2f [Scala] format the Scala code style templete (#6532)
* The templete of scala code style refactor

* more reformat

* more reformat

* generate petstore client
2017-09-29 17:24:34 +08:00
Vlad Frolov
924a8e5efe [CPPREST] Fixed multipart files upload implementation (#6518) 2017-09-29 15:46:16 +08:00
wing328
8e854dc744 add kenjones-cisco to bash tech comm 2017-09-29 11:39:15 +08:00
wing328
39908ebb83 add jvelilla to eiffel tech committee 2017-09-29 09:47:03 +08:00
Akito Nozaki
25812fc526 Swift3: non dictionary body type (#6531)
* Adding support for non dictionary body types.

* Adding test for rest of the swift3 types

* Cleaning up implementation of makeRequest and adding better error handling.

* Adding ClientError for error produced before request is sent.

* Changing how encoding of body data is handled.

* Cleaning up code that was modified.
2017-09-29 00:16:32 +08:00
wing328
16045a1cff Merge branch 'master' of https://github.com/swagger-api/swagger-codegen 2017-09-28 14:25:25 +08:00
Kenny Jones
87a9caa33f Bugfix: Path replacement regex not working (#6580)
A previous change to make the regex a variable to allow proper linting
resulted in the regexp not having access to the value associated with
the variable and the path variable not being replaced.

Moves the regexp variable inside the for loop to allow the value to be
used and the path variable to be replaced with the provided value.
2017-09-28 14:14:47 +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
yissachar
bd5b586028 Use valid JS RegEx (#6584) 2017-09-28 09:49:05 +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
wing328
3ac2b803f9 [Elixir] Add Elixir Petstore sample to Shippable CI (#6575)
* add elixir petstore to shippable ci

* use oracle sdk
2017-09-27 20:53:27 +08:00
wing328
28a3206d16 update swift link, add kotlin, powershell 2017-09-27 11:52:44 +08:00