* Added new generator for Scala + Play Framework (WIP)
* scala-play-framework: default values reintroduced (mostly); datatype -> dataType
* reintroduced missing EOF newline
* Support single/collection params for header/query params
* Rename apiFutures > supportAsync, implStubs > skipStubs (opt-out instead of opt-in)
* Deleted license and small fixes
* Generate extraction of form parameters from request body
* Added missing call to executeApi for unit methods when supportAsync=false
* Polished some stuff and added routes, application.conf, logback.xml, better default responses
* Disabled generation of Json.format for models with files
* Added README
* Multiple additions and improvements.
- Fix Indentation using mustache lambdas
- Option to set routes file name (default: routes) - allows uninterrupted manual maintenance of main routes file, which may include a subroute to the generated routes file
- Move supporting file classes to a package and update application.conf generation accordingly
- Option to generate custom exceptions (default: true) which are used in the controller to differentiate between API call exceptions and validation exceptions
- Generate error handler with basic exception mapping
- Option to generate API docs under /api route
- Reorder routes file so parameter-less paths are given priority over parameterized paths. Prevents case like /v2/user/:username activating before /v2/user/login (thus shadowing the login route completely) as observed using v3 petstore.yaml
- Option to set base package name (default: org.openapitools) to allow placing supporting files under a different package
* Revert supportAsync default to false
* Added binaries and default api/model packages
* Added scala-play-framework sample
* Add missing contextPath to README and controller comment
* Reverted path changes. Removed additional files in php petstore-security-test folder. Generated new samples.
* Batch and Shell scripts modified to use the same specification files for sample generation. Sample files generated.
* Input file path in PHP client batch file equalized with the input path in the shell script file. Samples generated.
* Added a missing bracket in the PHP client mustache template.
* AbstractPhpCodegen apiDocPath and modelDocPath creation adjusted to always use slash instead of system seperator, since the values will just be used in Markdown files.
* Unnecessary samples removed.
* Fixed unnecessary diversions between Windows and Linux/Mac paths in PHP codegen.
* New samples generated after rebase.
* Fixed a sample in TypeScript Angular v2 which caused CI to break.
* add option to generate alias as model
* [JAXRS/CXF] Emit method bodies, test data (#1158)
New jaxrs-cxf-extended generator with options:
- supportMultipleSpringServices Support generation of Spring services
from multiple specifications
- generateOperationBody (boolean) Enables generation of fully
functional test/service method bodies that pass/return random
but valid values & models.
- loadTestDataFromFile (boolean) When true, generated method bodies
load test data from a generated JSON file. When false, generated
method bodies contain inline code to construct the test data.
- testDataFile (string) The path of a JSON file to contain generated
test data. The file is initially generated but editable; edits are
preserved by subsequent generations.
- testDataControlFile (string) The path of a JSON file to control test
data generation - specifically, to control the number of items
required in array properties, structured by API class
/ operation name / parameter name. The file is initially generated
but editable; edits are preserved by subsequent generations.
- tests for the jaxrs-cxf-extended generator, including the new options
Bug fixes:
- fix bug (DefaultGenerator): handle absolute paths in supporting file
spec
- fix bug (DefaultCodegen): process enums in allVars
- fix bug (AbstractJavaCodegen): support multiple inheritance via
allOf (inheritance code deleted, as a subsequent pull broke it)
- fix bug (JavaCXFServerCodegen): use operationId instead of nickname
(gets out of step with duplicate operationIds)
- fix bug (JavaCXFServerCodegen): set appropriate default
consumes/produces for operations with body parameters or non-void
returns (CXF providers don't handle */*)
- fix indentation (DefaultCodegen)
- add support for a system property openapitools.implementation.version
to specify the package implementation version when running non-JAR'd
classes in an IDE (otherwise {{{generatorVersion}}} evaluates to
'unset'.
* reformat code
* make sh executable
* fix template folder
* fix template folder, update samples
* run test data manually to avoid ci failure
* Typescript 3.2
* Typescript spread operator
* Add vendor extension to the operation
* Remove url.URLSearchParams
* Generate form data in API
* Make axios scripts executable
* Reran generator
* Generate sample code
* Codegen having the model and api extra flag
* Revert to 2.4 Typescript
* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency
* Consistency on the CollectionFormats, comment on the vendor extension
* Throw exception if api and model packages are not given
* Templates splitting api and models
* Post process the operations in the the process
* Beginning to get the axios tests up
* Ensure-up-to-date doesnt include TS/Axios tests
* Docs update for Typescript/Axios
* Merge master
* Api tests re-run
* Add windows bat file
* Add GraphQL express/apollo server generator
* add basic resolvers; adjust parameters/input types
* small adjustments and improvements
* adjust logger config for GraphQL generators
* remove MaxPermSize form bash script as it will be removed from later Java versions; add isNullable utility helper method; Adjust TODOs for graphql implementation
* re-created samples for graphql config and server generators
* re-added templates for graphql config generator
* add graphql-config-petstore bash script
* add isNullable utility method
* fix javadoc issues
* adjust licence headers
* rename Generator to Codegen for GraphQL classes
* renaming, minor enhancement to graphql generator
* add graphql server samples
* add windows batch files, rename directory
* add c generator (1st commit)
* udpate c model template
* more fixes
* Add string replace function for C generator (#908)
* Add string replace function for C generator
* Fixed replacement for variable only
* Fixed problem for different datatypes of paramName
* store return value of modified path
* set str_replace variable to be same as original variable.
* [C] Fixed coding style issues
* add uncrustify support
* update petstore sampmles
* add Locale.ROOT
* added test-api-client.c to include test cases for strReplace function
* added header and body mustache and made changes to ClibcurlClientCodegen.java accordingly
* [C] renamed functions in apiKey.c.mustache according to apiKey.h.mustache
* [C] changes in import statement
* renamed apiKey.h to keyValuePair.h and made necessary changes in the codes
* changed apiKey.c according to keyValuePair.h
* fixed import statement in model
* added code for generating struct in model-header.mustache
* added typedef struct for model-headers
* updated sample/client/petstore/C
* fix locale
* [C] Function addition and modification of major structs (#1020)
* added readme file
* fixed parameters in api headers functions
* made changes to add readme file and typemapping of array to list
* fixed header import statement in apiheader files
* modified struct of model type in model header
* updated sample
* modified README file
* updated sample
* parse from json function added
* modified struct and create function
* added include for model
* modified parsefromjson function
* modified struct and create function for more datatypes
* added mapping for date-time and modified model import return statement
* modified function parameters
* modified include statement
* fix function in api body
* updated sample
* clean up files
* regenerate c petstore
* fix error message when setting uncrustify
* add version to uncrustify usage
* added uncrustify rules in mustache (#1021)
* added uncrustify rules in mustache
* updated sample
* updated same with crustify
* updated sample with uncrusitfy 0.67
* modified readme about uncrustify requirements
* fixed mistakes in readme mustache and sample readme
* fix file import, unformat c petstore
* fix import in test files
* fix model with complexType
* fix free string, format the code using uncrustify
* modified sample
* Modified sample to check
* return type issue figured,more to do to fix it
* minor fixes to make complete code compile
* Compiling sample code. Store has issue with map.
* comment out test file generation which is not req.
* commented operation name
* fixed various issues responsible for code not compiling
* test mustache temporary for testing
* updated sample add,del,getbyid works, formparam yet to do
* few minor changes and added fuction to add different header and content type in apiClient
* added code to upload image
* added function to test upload image
* fixes for fileupload and various other small things
* fixed issue due to xml produces
* updated sample:working sample add,del,find,uploading:tocheck ,
* added free functions for variable where memory is allocated
* rename imagecontainer struct to filestruct
* fix issues with if functions for all list types
* fixed issue with primitive return type in header file
* updated sample w/ free functions
* update c samples
* remove corrupted file
* update samples
* test cases for APIs
* added function to generate test cases from new mustache
* mustache files for manual written test cases
* added default content type to application/json
* fixed issue with primitive return type
* fixed issue with bool type
* added file apiKey.c
* updated sample tested
* update c environment variable (#1090)
* add mapping for map (#1103)
* minor update
* revert list paramter check to NULL
* modified return type for primitive(map - list_t)in mustache
* removed apiClient_free as it was two times
* updated sample
* fixed issue of path parameter when string less than parameter len
* fixed issue for form paramters upload
* added checks to avoid seg faults
* updated sample
* added check for null value in form parameter
* modified size of mallocs to dynamic
* updated sample
* Add C Petstore to Travis CI (#1136)
* setup CI for C petstore
* update bash script permission
* unit petapi test
* fixed memory leak in strReplace and apiClient Functions
* modified return value for status generation
* added enum defination and functions to convert and back from string
* added function for enum and made changes to free memory at necessary places
* added datatype handling for enum
* fixes regarding memory allocation and free
* updated mustache of test files
* updated sample
* renamed manually written test files
* manual test file for pet
* cleaned common api test file for time being
* renamed test files
* added renamed test files to build test bash
* added file null pointer check
* modified uncrusitfy rules
* minor update to c templates (#1161)
* [C] Fixed enum function declaration (#1178)
* fixed enum function declaration in model headers
* fixed enum declaration in header files for sample
* disable curl verbose mode and add response code variable
* added response code variable in apiClient struct
* modified apiClient header and source file
* added response and removed commented code api-body mustache
* removed commented code from model-body mustache
* removed unnecessary print statements from test mustache
* updated sample
* fixed spaces issue
* Better format in C templates (#1224)
* better format in the c template
* minor format fix
* [C] changed base url from static to dynamic (#1225)
* changed basePath from static to dynamic
* removed unnecessary header declaration
* updated sample
* [C] added curl version check in CMakeList.txt (#1248)
* added curl version check in CMakeList.txt
* Updated README for latest curl version
* [C] Major changes to keyValuePair function (#1282)
* removed static declaration
* changed static declaration
* added difference for string and non string
* added more code for different function for string and non string
* fix issue with param name
* change value in keyPairValue to void
* fixed issue of difference in function name cases
* added support for non char parameters in api
* fix issue of map return data
* modified manual-StoreAPI map return data handling
* fix minor mistake
* added support for map and changed code to support value of keyvaluepair as char and other
* updated sample
* fixed api header declarations
* change map declaration in header
* resolved issues realted to map data handling
* fix minor issues
* add N at start if enum variable starts with number
* override toParamName method
* changed paramters to paramName from baseName
* change variables in apibody from baseName to paramName
* Skip test file generation (#1459)
* skip test file generation
* skip overwriting CMakeLists.txt
- Remove pointer usage in generated models
- Use const reference wherever possible
- Reuse same super class for Qt5 client and server
- Support primitive return types for Qt5 client
- Add const reference to API calls
* Implement the ability to read packageName and openAPISpecName from a json file
* Replace '{{openAPISpecName}}' with '{{{openAPISpecName}}}'
* Update erlang-petstore-server
* copy from go-server and add go-gin-server generator
* change the templates for the gin
* fix warnings of the golint tool
* fix the path of script
* add samples
* delete unnecessary comments (#1048)
* make the help message more appropriate (#1048)
* fix the link address format (#1048)
* minor improvement
* feature: add generator for typescript/axios
* feature: add sample scripts and sample code
* fix: set request body in data property
* feature: add samples and tests for typescript axios client
* test: add tests for typescript axios client
* Kotlin Spring initial bootstrap
* Basic configuration construction for Kotlin Spring
* Wired up with comand line client
* Initial kotlin spring boot application generated using gradle kotlin-dsl
* Added basic support for generating models
* Basic controllers generated without endpoints generated
* Basic spring boot app generated with models and controllers
* Added fix for type mapping in AbstractKotlinCodegen. Originally it was mapping list o kotlin.Array instead of kotlin.collections.List
* Fixed return type mapping
* Sorted bash springboot petstore generator script
* Implemented toVarName in AbstractKotlinCodegen to better handle some edgecases
* Checking for reserved words or numerical starting class names in AbstractKotlinCodegen
* Implemented toOperationId in AbstractKotlinCodegen
* Fixed types that were not correctly being mapped to primitives (byte / arrayOf / mapOf)
* Escaping dollar symbols in function names
* Added support for outter enum classes
* Added basic support for generating services
* Removed option for generated config package. Added option to enable/disable generated global exception handler
* Added configuration option to generate gradle. Generated maven pom.xml file as default
* Fixed up bash scripts for generating test sample code
* Added configurable option for Swagger Annotations
* Added configurable option for generating service interfaces and service implementations
* Added README generation
* Enable optional bean validation
* Added kotlin spring sample to CircleCI pom.xml
* Removed kotlin spring boot from .gitignore
* Minor fixes from PR comments for user submission (#1)
* Minor fixes from PR comments for user submission
* Puts braces around conditional block bodies with one-liner bodies.
* Modifies README.mustache to use artifact id and version supplied by
user (or default configuration)
* Targets templates under resource directory explicitly to prevent the
need to rebuild for evaluation of template-only changes.
* [kotlin-spring] Remove comments referencing sbt in bash scripts
* List of changes based upon code review:
* Additional comments around how we set the title based off the open api spec
* Fixed missing `beanValidationCore` template
* Put the lambdas into the lambda object as other generators do (Ktor, C#, cpp)
* Bump swagger-annotations version to latest pre-2.0 version (1.5.21)
* Set kotlin version to 1.2.60
* Updated README to set port based on template
* Added more additional properties to build bash scripts
* Removed `defaultBasePath.mustache` in place of using {{contextPath}} directly
* Log warning for when `serviceImplementation` is set t o true
* Updated samples
* Generating ConstraintViolation Exception Handler, as Springboot doesnt correctly catch the error and return bad request. Handling other exceptions a litle better
* Small fix for date time mappings (plus sample re-gen)
* Minor fix in README template, where port was using wrong variable
* Fix missing jackson-dataformat-xml dependency
* Fix build - needed to re-run kotlin-server-petstore.sh
* Fixes after merge with master
* Revert "Small fix for date time mappings (plus sample re-gen)"
This reverts commit 4152dc78b4813da71c675272ca90fb31a333aea1.
* Moved type mappings to Kotlin Spring generator
* Regenerated samples
* Regenerated samples
* fix float/double default value
* better code format
* better CI for openapi3 batch files (C# client)
* update nancyfx samples
* pipe output to /dev/null to reduce log size
* fix windows batch file
* add C# API client generated by OAS3 spec
* Python client pure library package
* check onlyPackage CLI option
* run /bin/python-petstore.sh, update the python samples for CI
* onlyPackage local variable instead of classp property
* fix CI: __future__ absolute_import must be first in file
* update samples
* generateSourceCodeOnly
* updated samples
* [Slim] Shell script points to petstore-with-fake-endpoints-models-for-testing.yaml. Slim init and new models has been generated.
* [Slim] Bugfix. Special value */* in opperation produces escaped to avoid PHP syntax errors.
* [Slim] Add own private static final LOGGER
* [Slim] Bugfix. toModelName method copied from PHPClient codegen which handles Fake Petstore spec much better.
* [Slim] Sort operations in supporting files data to avoid shadowing static routes.
* [Slim] Mustache index.php update. Params parsing enhanced.
* [Slim] Tiny cleanup. Unnecessary empty space removed.
* [Slim] Security fix. toOperationId method copied from PhpClientCodegen.
* [Slim] Bugfix. formData params parsing restored.
* [Slim] Proper .gitignore added to PhpSlimServerCodegen. Vendor folder with all dependencies removed to keep repo more clean.
* [Slim] Slim dependency update to 3.10.0. Few test fake endpoints fixed by this upgrade.
* fix pistache c++ server in windows
* skip perl test
* comment out go tests
* Fix go test, manually fix go client
* fix rails batch file
* fix tab in java file
* install rust
* fix swift2-deprecated in windows batch file
* fix rust installation
* comment out js test
* update swift windows batch files
* update tizen batch script
* comment out ktor test
* Fixes for ze-ph:
- fixed gathering of required properties for query data model
- fixed setting of internal vendor extensions for query data model detection
- fixed small typo in generated README
* Updated samples for ze-ph fixes
Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
Co-authored-by: Jeremie Bresson <dev@jmini.fr>
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
Co-authored-by: Martin Delille <martin@phonations.com>
Co-authored-by: Tomasz Prus <tomasz.prus@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>