* basic asciidoc markup generation
* asciidoc markup include processing with mustache filter
* asciidoc tests, separate include filters
* asciidoc petstore sample
* add asciidoc generator to readme
* test asciidoc generator for all include files with own json spec.
* link fillter to link generated test data into asciidoc markup
* fix and cleanup names asciidoc tests.
* fix travis build error, removed windows line endings from mustache asciiidoc templates.
* asciidoc generator: comment and reduce visibility of helper method (fix dron build)
* asciidoc: windows linefeed again (fix travis ci)
* asciidoc generator: remove \t and format again.
* fix ascidoc generator ci builds ... ongoing..
* asciidoc: add generator .md files, unix line ending.
* First version of Nim Client
* Add some codes
* Add some codes
* Add some codes
* Add some codes
* Add some codes
* First version of Nim Client
* Add some codes
* Add some codes
* [Dart] Fix README template and update testing doco (#3809)
* [Dart] Fix README template and update testing doco
- deleted redundant shell script
- fixed and updated README template
- updated test package and moved to a dev_dependency
- removed old unused dev_dependency packages
- updated testing documentation in petstore sample
* Remove references to dart-flutter-petstore.sh
* Fix typos
* Fix typo
* Support custom git repository (#3757)
* add gitHost param to GeneratorSettings and related
* parameterize gitHost in READMEs
* parameterize gitHost in go.mod
* parameterize gitHost in git_push
* update petstore samples
* run ./bin/utils/export_docs_generators.sh
* run meta-codehen.sh
* Revert "run meta-codehen.sh"
This reverts commit d6d579f6159186531257cdfdd73b9caf9e9ffeba.
* Revert "run ./bin/utils/export_docs_generators.sh"
This reverts commit 1b81538198d4319fd1b4e97447303e3cc0e8dc99.
* Revert "update petstore samples"
This reverts commit f513add88396707f6991ae2e4920359583ec88f1.
* run ensure-up-to-date
* Add links to article and video (#3820)
* Better Go code format (#3819)
* better varible naming
* better comments
* better code format for go experimental client
* better comment, update samples
* Add some codes
* Add some codes
* Add some codes
* Add gRPC Protobuf schema generator (#3818)
* add grpc protobuf generator
* update doc
* add new doc
* add windows batch, comment out root proto
* 1792 fix remote spec handling and hash calculation (#3440)
* fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam} (#3821)
* Revert "1792 fix remote spec handling and hash calculation (#3440)"
This reverts commit 2a2eefe93d81b8d253745b8adb002ab2cb9eee04.
* Add nickmeinhold to Dart technical committee (#3830)
* Bug #2845 typescript angular inheritance (#3812)
* issue #2845: enable 'supportsMultipleInheritance' on typescript angular client codegen
- note I reran ./bin/openapi3/typescript-angular-petstore-all.sh and no changes occurred.
this suggests to me that the petstore.yaml sample should be improved to make use of the
anyOf / allOf / oneOf keywords, in order to better show the effects of changes on generated code.
* issue #2845: run ./bin/openapi3/typescript-angular-petstore-all.sh
* run `mvn clean package && ./bin/typescript-angular-petstore-all.sh`
* revert extranous files
* fix warnings in csharp-netcore client (#3831)
* Add missing files to the form request (#3834)
* [client][go] avoid duplicated reflect imports (#3847)
* Following up for #3440 (1792 fix remote spec handling and hash calculation) (#3826)
* This patch fixes the bug that we cannot access to remote files when checking file updates.
Following up #3440, supporting auth.
* 1792 fix remote spec handling and hash calculation (#3440)
(cherry picked from commit 2a2eefe93d81b8d253745b8adb002ab2cb9eee04)
* fix detecting remote file / local file logic while finding the hash file, taking care of IllegalArgumentException for local files.
* add testcase
* Add a link (#3850)
* Add Element AI to the list (#3856)
* maven-plugin-plugin 3.6.0 (#3854)
* [Java][okhttp-gson] fix failure to deserialize floats (#3846)
* fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam}
* fix to bug #3157
* update samples
* Adds Http Info To Dart Api (#3851)
* [C++][Pistache] Add missing setter for arrays (#3837)
* [C++][Pistache] Add missing setter for arrays
Fixes#3769
* [C++][Pistache] Update Petstore sample
* typescript-inversify: improve check for required parameters, support multiple media types (#3849)
* [typescript-inversify] Allow falsy parameters
A required parameter to an api method must not be `null` or `undefined`.
It can be any other falsy value, e.g. `""`, `0` or `false` though. This
change makes sure an error is only thrown in the former case and not in
the latter.
* [typescript-inversify] Handle multiple media types
The Accept and Content-Type HTTP headers can contain a list of media
types. Previously all but the first media type in the api definition
were ignored. Now the headers are properly generated.
* [typescript-inversify] Fix http client interface
The api service methods allow the `body` parameter to be optional. The
parameter is then passed to an `IHttpClient`. So it needs to be optional
there as well.
Also fixed the sample implementation `HttpClient`.
Fixes#3618.
* [typescript-inversify] Regenerate Petstore sample
* [typescript-inversify] Use more explicit null check
This does not change the semantic of the generated code, but makes it more explicit.
Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
* [typescript-angular] allow empty string basePath (#3489)
* [typescript-angular] Fixing #2731 - empty string basePath
* typescript-angular: refactor base path configuration
* typescript-angular: refactor base path configuration
* Fix/r/serialization fix and minor 3xx resp fix (#3817)
* fix(qlik): fix for minor serialization bug
* fix(r): add petsore generated classes
* fix(r): indendation fixes
* typescript-axios: Fix baseoptions (#3866)
* Fixed missing baseOptions of typescript-axios.
The typescript-axios template was missing the baseOptions setting when building an API Configuration. Set it.
* update sample.
* re-generate typescript axios samples
* Rename gRPC generator to "protobuf-schema" (#3864)
* rename grpc generator to protobuf-schema
* update doc
* Prepare v4.1.2 release (#3873)
* update samples
* update date
* fix version in readme
* BugFix #2053 Spring Boot fails to parse LocalDate query parameter (#3860)
Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
* update doc, samples (#3875)
* update stable release
* Update the batch for Windows
* Add a test snippet
* Update ensure-up-to-date
* Add Nim to README.md
* Ran ensure-up-to-date to pass CircleCI tests
Prefix generated request interface names with API classname rather than
using namespaces, because namespaces are not well-supported by some
tooling (in particular, Babel).
* Add correct library versions for Angular 8.0.0
* Keep Angular default version of 7.0.0 to avoid breaking changes
* Add petstore example for Angular 8
* Add ngVersion field to typescript-angular-v8-petstore-provided-in-root-with-npm.json
* Update python client java generator
* Updates python generator mustache files
* Python sample regenerated
* Switches from getfullargspec to getargspec for python2 compatibility
* Uses getattr to get model class init method to correctly see its arguments, linting fixes to pass python tests
* Updates comment in python centerator to restart CI tests
* Adds bin/windows/python-experimental-petstore.bat
* CHanges spec update to apply to the python-experimental spec
* Moves new python templates to python-experimental
* Moves generator python java code to python-experimental
* Reverts python generator mustache files
* Regenerates python, v3 python, python-experimental samples
* Test moved to python-experimental, unused python files removed
* Fix 3349 : Proposition to follow spec closely
* Fix#3349 : Changes suggested by code review. Add an option for the single request parameter.
* Fix#3349 : Add sample with the use of the single request parameter
* Fix#3349 : Small fix that wasn't passing the tests
* Fix#3349 : Remove cariage return that might create an error
* Fix#3349 : Add chmod to make new sh file executable and fix the CircleCI issue
* Fix#3349 : Add windows sample generation
* Fix#3349 : Rename everything because of default value change
* Fix#3349 : Indentation fix
* Fix#3349 : Add 755 to typescript-fetch-petstore-multiple-parameters.sh
* Fix#3349 : Auto generation of the documentations
* Fix#3349 : Revert back a change that was auto-generated.
* feat(r): Added handling exception with ApiException class and document generation
* feat(r):enhancements to exception handling and documentation
* fix(r): fixes and reverting the man folder
* fix(r): minor fix of import statement
* fix(r): generated the docs file
* fix(r) minor doc casing fixes
* Update DefaultCodeGen to allow additional primitive types
If a string field is specified with a format which is also defined using
--typeMappings, it will be treated as a primitive type
* Fixed typo in android-petstore-httpclient.bat
* feat(r): fixing serialization and deserialization issues
* feat(r): pet store file generated with serialization fixes
* fix(r): updated the query params with keyname in get request
* fix(r):fix issue with package name and other minor
* fix(r): fixing unit tests
* feat(r): adding api calls WithHttpInfo method
* fix(r): reverting unit test changes
* feat(r): saving changes for reference
* Revert "feat(r): saving changes for reference"
This reverts commit 0d091b5c20f8f7f83e8b3318c1f7ddf5c0a4cced.
* feat(r): minor refactor of method position
* fix(r): fixing bug in withhttpinfo method args passing
* fix(r): generated petstore with fix
* Introduce GeneratorSettings + cleanup
GeneratorSettings is an immutable settings object, intended to limit the
manipulation of generator settings.
To move to GeneratorSettings, lots of modification was done to
CodegenConfigurator. The goal here is that CodegenConfigurator
would create the contextual information required to initiate a
generator run:
* GeneratorSettings
* Workflow related settings
* Configuring "system" GeneratorProperties (ThreadLocal properties)
* Deserializing from file to config object
* Input spec document (OpenAPI, intending to target others)
ClientOpts was generally unused, and the few places it was being used
have been updated to pass the properties to
codegen.additionalProperties.
* Add sanity to system properties
The -D argument for the generate command is an application argument
which is easily confused for Java System Properties. This isn't the
case, as setting values here doesn't update the configuration in
System.getProperties().
This adds a warning and deprecation to that option, as defining these
values as system properties will also continue to work as expected. This
makes the -D application argument redundant and confusing.
* Contextualize generator/workflow settings
This splits settings relevant to generator configuration (the what) and
workflow configuration (the how) in an attempt to make configuration
easier to conceptualize.
* Update Gradle task w/ CodegenConfigurator setters
* Remove -D usage in scripts
* Add -p option for additional properties
* Regnerate samples
* Beta server stub generator for F#/Giraffe (#2705)
* first commit for F#/Giraffe
use CLI generator
work on handlers
add binding to url params
add parameter declaration to handler & fix array types
order models by dependency and add tests
add oauth handlers
add service generation
add service implementation
return json for map types and add all return types to service implementation
pare down record types for readability
move implementations to impl folder
fix additional handler invocation
remove logging
remove open api type provider package reference
add sane defaults for OAuth
add readme and reorganize files for easier ignore
fix oauth checks and move login to default template
typedef operation body params as model
add API test templates
fix test templates
set project & other folders when packageName is set
add ignore to test pipes
add ignore for oauth to hide compile warnings
escape model types for generic dictionaries
remove Boolean object from primitives
fix handler and param templates for multiple path params
remove "Model" from model module names and fix import mapping for dictionary
add package name to model imports
change model templates to use imports
move login to CustomHandlers
raise exception where oauth not properly configured
allow webhost configuration from CustomHandlers
remove explicit support for nullable types and render option in template instead
move Cookie options to CustomHandlers
add header params
integrate api key provider
add nullable to datetime types
fix test generation and pretty up model folder
add context path to handler test template
dont copy spec file
remove superseded copyright notices
remove superseded copyright notices
* remove carriage return in fsharp template
* remove superseded sample output directory
* fix bash build script
* update generated sample
* update documentation
* add new file
* fix compile issues
* 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