Fixes#5985
We were experiencing syntax issues when generating the Petstore example. See some of the examples below:
StoreApiInterface.php
namespace Swagger\Server\Api;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Swagger\Server\Model\Order;
**use maparray<string,int>;**
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
UserApiInterface.php
public function createUsersWithArrayInput(**User[]** $body);
public function createUsersWithListInput(User[] $body);
As far as I know, it is not possible to use array of objects in this way.
PetApiInterface.php
namespace Swagger\Server\Api;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Swagger\Server\Model\Pet;
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
use Swagger\Server\Model\ApiResponse;
**use string[];**
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
public function findPetsByStatus(string[] $status);
public function findPetsByTags(string[] $tags);
* Add addiitional files from upstream
* Remove mis-added files
* Add additional swift4 initializer for initializing model object with properties.
This change fixes this issue: https://github.com/swagger-api/swagger-codegen/issues/6641
It adds an additional initializer which allows model objects to be initialized using the properties. For exxample, if we had this model:
"ErrorInfo": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Example Error object"
},
This we generate an initializer for this model object like this:
public init(code: Int?, message: String?, details: [String]?) {
self.code = code
self.message = message
self.details = details
}
* Add hasVars checks around initializers and re-run all scripts to re-generate
Void Safety Rules, optional parameters are translated to detachable TYPE.
Validation Rules are mapped to preconditions, at the moment maximun and minimun
validation has been added.
Improved API_CLIENT.parameter_to_tuple feature to accept a LIST [ANY] instead of LIST [STRING_32].
Improved model template to generate the model output.
* Add addiitional files from upstream
* Remove mis-added files
* Fix compilation issue with Swift4 inline enums.
This change fixes this issue: https://github.com/swagger-api/swagger-codegen/issues/6607
The problem was that I was using "datatype" instead of "datatypeWithEnum" in the model.mustache file.
When you have a the following model property:
"myInlineStringEnum": {
"type": "string",
"enum": [
"inlineStringEnumValue1",
"inlineStringEnumValue2",
"inlineStringEnumValue3"
]
}
Then we were generating:
public enum MyInlineStringEnum: String, Codable {
case inlinestringenumvalue1 = "inlineStringEnumValue1"
case inlinestringenumvalue2 = "inlineStringEnumValue2"
case inlinestringenumvalue3 = "inlineStringEnumValue3"
}
However, when we decode this, we were using type of the enum ("datatype") rather than the enum type itself ("datatypeWithEnum"). So we were generating:
myInlineStringEnum = try container.decodeIfPresent(String.self, forKey: "myInlineStringEnum")
rather than:
myInlineStringEnum = try container.decodeIfPresent(MyInlineStringEnum.self, forKey: "myInlineStringEnum")
* Adds the ability to create code for an interface-based jaxrs client.
* Adds shell script and sample files for jaxrs-spec-interface
* rebase into adds shell
* Fixes bug in creation of Produces/Consumes in method annotation. Allows for instance "application/json; charset=utf-8"
* Fixes generated pom.xml
* Generate pom.xml by default
* Prettier output from api.mustache
* Fixes bug in mediatype, allowing charset-specification in swagger.yaml.
* Merges generation of interface-based jaxrs client/api into jaxrs-spec.
* Moves jaxrs-spec server interface to match location of jaxrs-spec server
* Makes Generated-annotation in genereated classes slightly prettier.
* 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
* 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
* 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
* 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
* [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
* Add test which reproduce the warning #5338https://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
* 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
* 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
* 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
* 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