* Add enumPropertyNaming option to typescript generators
* Regenerate docs
* Add Locale.ROOT to toUpperCase() call
* Use actual enum values in an error message, instead of hardcoding them
* Add tests for "UPPERCASE" and "snake_case" enum var namings
* Add LOCALE.ROOT to String#format call
* Updates ap.mustache for python-experimental, adds test test_test_endpoint_enums_length_one
* Removes sortParamsByRequiredFlag from python-experimental
* Removes duplicate params from docstring
* add Deprecated in kotlin dataClass
* add deprecated in CodegenProperty
* format (Column limit: 100)
* set property.deprecated
* add test
* run ./bin/kotlin-springboot-petstore-all.sh
* trim space
* [feature] Log "debounce" filter to remove spam.
* [log] slf4j-simple should be optional
This also sets the default log level to ERROR during CI builds for many
mvn invocations. This should reduce noise in the logs.
* [log] Rely only on mvn loglevel=error for now
* [cli] Clean up unused dependency
* [log] Change level to error/warn in more CI
* [python] Cleanup ThreadPool with atexit rather than __del__
This removes the `__del__` function from the generated Python client,
and replaces it with a `cleanup` function. When a ThreadPool is created,
the cleanup function is registered with the `atexit` module.
This fixes#5093, where the API client could hang indefinitely at
garbage collection.
* Update petstore examples
* Test to ensure threadpool is cleaned up
* Docs now encourage using the context manager
* Regenerate docs
* Update samples
* Make api to models from a single model/models.ts instead of individual model files.
Fixes inconsistent usage of file names with inline models (inline-model-1, inline-model-2, ...)
* Remove additional mapped filename prop from api imports (since it's not reliable)
* Rerun ./bin/typescript-angular-petstore-all.sh
* Restore the `filename` property passed to the templates, with a comment it's no longer used
* https://github.com/OpenAPITools/openapi-generator/pull/4407 squashed from original, and better author (I failed to refer the right PR the first time)
* removed isArrayLike in favour of Array.isArray
* support collectionFormat the old way
* fixed type and rebuild samples
* revert samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/package.json
* reverted samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/tsconfig.json
* rebase-to-master-fix: isDateTime stuff is now handled within this.addToHttpParams
* run bin/typescript-angular-petstore-all.sh on the rebased PR
* applying proposed fix of @macjohnny
* run bin/typescript-angular-petstore-all.sh to regenerate samples
Co-authored-by: aanno <aanno@users.noreply.github.com>
* start implementation of HTTP signature
* add api key parameters for http message signature
* HTTP signature authentication
* start implementation of HTTP signature
* add api key parameters for http message signature
* HTTP signature authentication
* HTTP signature authentication
* start implementation of HTTP signature
* fix merge issues
* Address formatting issues
* Address formatting issues
* move python-experimental-openapiv3-sample to a separate PR
* Add support for HTTP signature
* Add code comments
* Add code comments
* Fix formatting issues
* Fix formatting issues
* Fix formatting issues
* add code comments
* add code comments
* fix python formatting issues
* Make PKCS1v15 string constant consistent between Python and Golang
* fix python formatting issues
* Add code comments in generated Python. Start adding unit tests for HTTP signature
* compliance with HTTP signature draft 12
* compliance with HTTP signature draft 12
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* working on review comments
* fix python formatting issues
* fix trailing white space
* address PR comments
* address PR comments
* address PR comments
* Add suppport for '(expires)' signature parameter
* address PR comments
* address PR comments
* Fix python formatting issues
* Fix python formatting issues
* Starting to move code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* Continue to refactor code to dedicated file for HTTP signatures
* move method to ProcessUtils
* conditionally build signing.py
* move method to ProcessUtils
* Code reformatting
* externalize http signature configuration
* address PR review comments
* address PR review comments
* run samples scripts
* Address PR review comments
* Move 'private_key' field to signing module
* Move 'private_key' field to signing module
* code cleanup
* remove use of strftime('%s'), which is non portable
* code cleanup
* code cleanup
* code cleanup
* run sample scripts
* Address PR review comments.
* Add http-signature security scheme
* Run sample scripts for go
* Fix issue uncovered in integration branch
* Fix issue uncovered in integration branch
* Fix issue uncovered in integration branch
* Fix issue uncovered in integration branch
* Run samples scripts
* move http signature tests to separate file
* move http signature tests to separate file
* unit tests for HTTP signature
* continue implementation of unit tests
* add http_signature_test to security scheme
* add unit tests for http signature
* address review comments
* remove http signature from petapi
* Add separate OAS file with support for HTTP signature
* Add support for private key passphrase. Add more unit tests
* Add unit test to validate the signature against the public key
* remove http signature from petstore-with-fake-endpoints-models-for-testing.yaml
* fix unit test issues
* run scripts in bin directory
* Refact unit test with better variable names
* do not throw exception if security scheme is unrecognized
* change URL of apache license to use https
* sync from master
* fix usage of escape character in python regex. Fix generated python documentation
* write HTTP signed headers in user-specified order. Fix PEP8 formatting issues
* write HTTP signed headers in user-specified order. Fix PEP8 formatting issues
* http signature unit tests
* Fix PEP8 format issue
* spread out each requirement to a separate line
* run samples scripts
* run sample scripts
* remove encoding of '+' character
* Spotbugs, PMD and Checkstyle #33
* Reducing Spotbugs effort to min #33
* Also using project.parent.basedir and avoiding relative paths in pom files.
* Filtering out samples.
* Move PMD/Spotbugs to static-analysis profile
This moves the static-analysis checks to a standalone profile. Core
contributors may run static analysis with:
```
mvn -Pstatic-analysis install
```
The analysis is separated from default functionality to reduce impact to
community contributions. SpotBugs/PMD may add a non-trivial amount of
time to builds on some machines.
Co-authored-by: Tomas Bjerre <tomas.bjerre85@gmail.com>
* Add support for HTTP signature
* Add http-signature security scheme
* add http_signature_test to security scheme
* Add separate OAS file with support for HTTP signature
* change URL of apache license to use https
* add log warning to indicate the 'http signature' security scheme is still a draft
* Update RestSharp and improve async methods
* Fixed missing type parameter
* Update sample code
* Update README
* Update RestSharp version for CI
* Fixed sample test projects
* 🐛 Fixing some issues with threading and NPE
After running Sonar on the master branch, some major analysis
opportunities were displayed.
This fixes the use of SimpleDateFormat stored as static fields.
SimpleDateFormat is not thread-safe, and may retain data across threads.
While there's no indicator that this has caused any issues (these are
mostly used for example code), we should follow these best practices.
This also fixes a handful of NPE and other minor issues such as
comparing Boolean.TRUE to strings and no wrapping some closeables in
try-with-resources.
* [cli] Unit test GenerateBatch custom deserialization helper
* Quiet batch mode in sonar.yml
* Suppress unnecessary warnings (ThreadLocals in static fields)
* Adds jacoco for code coverage
This sets up jacoco instrumentation for code coverage. Preparing for
master and PR coverage reporting via sonarcloud.
* Set initial required coverage to 0
* fix go compilation error for properties of type map and array
* fix go compilation error for properties of type date and datetime
* add missing shell script to bin/utils/ensure-up-to-date
* add missing shell script to bin/utils/ensure-up-to-date
* add missing shell script to bin/utils/ensure-up-to-date
* fix issue with 'date' type
* fix time import problem
* Add missing pom.xml files for golang
* Add missing unit test files for golang
* Add missing unit test files for golang. Must use class name prefix for enums
* Fix unit tests for go-experimental in OAS3
* Fix unit tests for go-experimental in OAS3
* Add code comments in codegen
* Fix compilation errors of generated go code
* Fix compilation errors of generated go code
* remove antihax from go-experimental, it is no longer used
* copy python testfile for ut purpose
* add error checkout in unit tests
* add unit tests
* add code comments
* move test foo.png file to correct location
* run samples scripts
* run samples scripts
* [Slim4] Support byte data format
* [Slim4] Support date and date-time data formats
* [Slim4] Support password data format
* [Slim4] Support uuid data format
* [Slim4] Fix test of password format mocking
'00000' is numeric type, because PHPUnit doesn't make strict type
comparison.
* [Slim4] Fix data format key in object mocking
* [Slim4] Support binary data format
* [Slim4] Support email data format
* [Slim4] Base64 encode binary format output
Raw bytes string breaks PHP stdout output, so I've decided to use base64
encoding format for binary format too.
* [Slim4] Refresh samples
* [test] Removes jmockit in favor of mockito
We use mockito in many tests. This removes jmockit which is run as a
javaagent in favor of Mockito which is not.
This work is in preparation for applying some static analysis tools,
while evaluating others such as Jacoco. I'm also look at ways to improve
build times while also decreasing "ramp up time" for contributions from
the community. Reducing the number of mock frameworks and dependencies
is a step toward that goal.
* Rename method in new.sh
* [cli] Mock the generate task
Tests for python client, comprising support for additional_properties and arrays.
There are ugly workarounds for when there are discriminators, since the python client generator does not fully handle them.
Cool indentation of test files.
* [aspnetcore] Fix duplicate generation of enums
Fixes template issue where enums defined within a class were generated
regardless of whether they were a complexType (externally defined
"model") or an inlined enum.
* [dart-dio+time_machine] Add missing import, serializer
* [dart-dio] Remove bad import from `http` package
* [dart-dio] Use raw strings for those that contain variable name.
This should eliminate potential issue with variables like `$ref`.
* [dart-dio] Use `_path` instead of `path` to avoid potential conflict with op params.
See 1bec0b47b1/Kubernetes.json, there are a few with `{path}` param.
* [dart-dio+time_machine] Use `OffsetXxx` classes for date time values
* [config-help] Sort all outputs
* Remove old/stale generator docs (these have been renamed previously)
* Sort config doc outputs, making it easier to find relevant info
* Fixes cliOptions duplicates
Erlang client/proper improperly set the version option as packageName
(causing duplicate for packageName).
The java and swift option removals are because the options are added in
parent classes, resulting in duplication of the options.
* Add --github-nested-index for generating docs/generators/README.md
* 📝 Regenerate generator docs
This continues on work in #5033 and #5034 which convert all http usage
to https to unblock CircleCI builds.
In #5034, mavenCentral() DSL was updated to explicitly target the https
maven repo because Gradle didn't force TLS 1.2 until v4.8.1 and many of
our examples use earlier versions of Gradle. The Kotlin meta generator
was missed because it is a .kts build file rather than build.gradle, and
the mustache filename doesn't have kts in it; the file was updated as if
it was build.gradle (groovy syntax).
* Use builder pattern for requests
* petstore
* Add @throws annotation
* regenerate jersey2 test files
* Also group bodyParam in builder class
* petstore java6
* regenerate java8
* ensure up to date
- due to the addition of the timemachine library, models were importing ‘DateTime’ when using the core library, which is not a valid import.
- the parameterToString function was copied from the dart2 generator and had some errors when some enums were classes.
* Updates spring generator to omit type suffixes from int float double defaults, adds testDefaultValuesFixed
Adds the test testDefaultValuesFixed
* Updates SpringCodegen to only remove character suffixes from CodegenParameter defaultValues, updates tests
* Updates java function comment
* Adds early return in postProcessParameter
* Removes unneeded imports
* Fixes decorators on java method postProcessParameter
* Fixes typo
* Fixes paste error
* Removes unused import
* [Slim4] Add new method to Mocker interface
* [Slim4] Add implementation and tests for new method
* [Slim4] Add test fixture to encrease code coverage
* [Slim4] Add ref support to mockArray method
* [Slim4] Add mockFromRef method
* [Slim4] Add ref support to mockObject method
* [Slim4] Add ModelInterface
* [Slim4] Refresh samples
* [Slim4] Add ref support to mockFromSchema method
* [Slim4] Run all test suites by default test command
As it turnes out to generate coverage report for a whole project I need
to run all test suites at once.
* [Slim4] Fix enum option of string mocking
* [csharp] Change enum value suffix name
'enumValueNameSuffix' and 'enumNameSuffix' were introduced in a recent
commit. This changes 'enumValueNameSuffix' to 'enumValueSuffix' to
better differentiate between the two options. This also adds a caveat to
the default description which explains that this flexibility may cause
issues when used by client generator.
* [csharp][aspnetcore] Regenerate samples
[Rust Server] Fix panic handling headers
If we have an API which has multiple auth types, we may panic. This is because
in Hyper 0.11, the following code will panic:
```
use hyper::header::{Authorization, Basic, Bearer, Headers};
fn main() {
let mut headers = Headers::default();
let basic = Basic { username: "richard".to_string(), password: None };
headers.set::<Authorization<Basic>>(Authorization(basic));
println!("Auth: {:?}", headers.get::<Authorization<Bearer>>());
}
```
as it mixes up an `Authorization<Basic>` and `Authorization<Bearer>` as both
have `Authorization:` as the header name.
This is fixed by using `swagger::SafeHeaders` added in
https://github.com/Metaswitch/swagger-rs/pull/90
* [scala] Set support for unique arrays
This includes and builds upon community contribution for better Set support in Scala.
It makes property + model work as expected with Set and default values
across all Scala generators. Included tests to account for new changes.
This also reverts the community contribution to remove ListBuffer
imports and change the default for array to ListBuffer. Users should use
the instantiation types map to modify the desired array instantiation
type. Any new default should target a new minor release after community
discussion, as it affects all existing SDKs generated with
openapi-generator.
* [scala] Improve default handling of monadic collection type
* [scala] Regenerate samples
* Update ScalaPlayFrameworkServerCodegen.java
Scala Play defaulted to List and should continue to do so.
Co-authored-by: František Kocun <frantisek.kocun@gmail.com>
* Added ability to work with `defaultHeaders` and fixed authentication for code generated by openapi-generator for typescript-node:
- added getter/setter for `defaultHeaders` property
- fixed authentication for clients that support several auth methods (use auth method only if auth credentials are set)
* Update petstore templates
* [swift5] introduce new generator
* [swift5] add Swift Package Manager integration and update dependencies
* [swift5] run petstore
* [swift] update Swift 5 generator with Swift 4 changes
* [swift] update Swift 5 generator with Swift 4 changes
* [swift] make CodableHelper more customizable
* [swift] update pet projects
* [swift] update pet projects
* [swift] add nullable support
* [swift] make enums conform to CaseIterable
* [swift] date formatter add support for ISO8601 with and without milliseconds
* [swift] add urlsession support
* [swift] remove unecessary sample unwrapRequired
* [swift] rename JSONEncodableEncoding.swift to JSONDataEncoding.swift
* [swift] use result in generator internals
* [swift] cocoapods remove deprecated docset_url and add watchos deployment target
* [swift] Add ability to pass in a dedicated queue for processing network response (Fix for 230)
* [swift] update pet projects
* [swift] update docs
* [swift] add support for combine
* [swift] update docs
* [swift] update windows bat scripts
* [swift] update windows bat scripts
* [swift] update swift pet project tests
* [swift] update depencies
* [swift] make urlsession the default http client
* [swift] add urlsession sample project
* [swift] add urlsession sample project
* [swift] update docs
* [swift] improve combine unit tests
* [swift] update docs
* fix dart dio option tests
* minor format change
* fix dart option provider
* minor change to tests
* rearrange test order
* update test value
* comment out set author test
* commet out tests
* Added three configuration values for Dart 2 to be able to publish the generated code to pub without changes:
pubAuthor - contains the name of the author
pubAuthorEmail - contains the email address of the author
pubHomepage - contain the homepage of the project
Changed the name of the output directory from docs to doc as this is the path required by pub
* Added three configuration values for Dart 2 to be able to publish the generated code to pub without changes:
pubAuthor - contains the name of the author
pubAuthorEmail - contains the email address of the author
pubHomepage - contain the homepage of the project
Changed the name of the output directory from docs to doc as this is the path required by pub
* [Kotlin] enumPropertyNaming UPPERCASE should separate words with _
* Add unit cases for issue 4062
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Example of broken multi-level hierarchy
* Support for multiple levels of hierarchy in model objects
* Support for multiple levels of hierarchy in generators
* Regenerated samples
* Temporarily skip scalaz sample verification, which is having issue with Java version in CI container
* Re-enable scalaz in verify samples
Co-authored-by: Rob Oxspring <roxspring@imapmail.org>
* Use propertyBaseName instead of propertyName for discriminator
* Revert "Use propertyBaseName instead of propertyName for discriminator"
This reverts commit 389c5471ba.
* Use propertyBaseName instead of propertyName for discriminator
* [MySQL] Add identifierNamingConvention option
Possible values are "original" to not transform original names and
"snake_case".
* [MySQL] Add option tests
* [MySQL] Update doc
* [MySQL] Add original name to comment
* [Ada] Operation security scopes are ignored when generating the server (#1043)
- Update fromOperation() to keep the operation required scopes for each auth
method and store that information in the x-scopes vendor extensions attribute
- Update postProcessOperationsWithModels() to process the operation required
scopes and build a list of authMethods which only contain the required scopes
for the operation and store these authMethods in the x-auth-scopes attribute.
- Update postProcessAuthMethod() to handle the logic of filtering and building
the operation authMethod (new instances are created because we must not
modify the global authMethod definitions)
- Update the Ada server templates to use the x-auth-scopes instead of authMethods
Add a URL prefix parameter for the Ada server instantiation
* Fix Ada code generator
- update to generate Ada style type names (broken by the use of Camelize)
- update the templates for Ada Util and Swagger libraries
* Update generated GNAT project to add the 'utilada_xml' dependency
* Update the Ada samples
* Fix compilation of the petstore Ada sample
- Ensure response IDs are unique, even if the first sentence is identical
- Handle responses where different responses produce a different type of data
- Use the correct mime type for plain text and byte streams
- Tidy up whitespace in client-mod.mustache
- Specify locale for String.format
- Add test for multiple response types
- Update samples
* [Slim4] Add integration tests
* [Slim4] Remove unnecessary syntax check script
Composer package called "phplint" processes the same syntax check and
even faster. It can use cache when files hasn't been changed.
* [Slim4] Exclude composer.lock from codebase
Travis CI fails, it cannot install dependencies from lock file under
different PHP(7.1.33) version.
If there was a type that had a nested type of List or Map, e.g. `Map<String, List<String>>` only the outer types would be replaced with the Built variants, causing issues when running the builder.
* Switches python generators to use pytest, useNose CLI option added if to allow nose to be used instead
* Adds ensure-up-to-date changes
* Adds setup.cfg to python clients so we can configure nose when useNose=true
* Adds fix for python-aiohttp testing, adds files missing from ensure-up-to-date
* [REQ][GO] add awsv4 signature support for client
OpenAPI format does not support AWS Signature method.
This commit add support for AWSv4 signature in GO client generation by adding "withAWSV4Signature" option.
"withAWSV4Signature" option is false by default.
Signed-off-by: Jérome Jutteau <jerome.jutteau@outscale.com>
* [REQ][GO] update samples for awsv4 signature support
Signed-off-by: Jérome Jutteau <jerome.jutteau@outscale.com>
DefaultCodegen#procesOpts sets up quite a bit which may be expected by
users (template directory overrides, git user/repo, etc). The way the
dart-dio and dart-jaguar processOpts methods were written, these things
did not work. This makes it work.
* fix(typescript-angular): Fix date-timing-parsing is truncating the time
* fix(typescript-angular): Fix date-timing-parsing is truncating the time (#4330)
* fix(typescript-angular): Fix date-timing-parsing is truncating the time (#4623)
* Added new cli option to define the request date converter
* Fixed a few build errors
* Update api.mustache
* Fixed api mustache
* Removed unused import
* Fixing mustache templates
* Tweaking mustache templates
* Added sample and new bat file
TODO create new openapi 2.0 source file to simulate the datestring via schema.
* Tweaking mustache templates
* Updated templates and samples
* Fixed build error
* Updated samples
* Fixed path
This adds some conistency to how validation properties are persisted to
the Codegen* types. Whenever we extract metadata from an OpenAPI Schema,
that metadata may include properties defined in the JSON Schema
Validation specification section 6 (see
https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.6).
Previously, only some of these were copied.
This creates an interface allowing for consistent type access across:
* CodegenModel
* CodegenParameter
* CodegenProperty
* CodegenResponse
This does _not_ change existing public fields which previously exposed
these on some of the above type (see CodegenParameter).
CodegenModel has a legacy edge case where primitive types could be
represented at that level rather than as a referenced schema. This adds
the sync of validation properties to these primitive constructs for
CodegenModel with a note that they're legacy and likely to be removed
later.
* [Slim4] Add OpenApiDataMocker interface template
* [Slim4] Implement scalar types in data mocker
* [Slim4] Cleanup, remove unused variables
I've rejected the idea to keep Composer dependencies in Java/codegen
variables at some point of time. It seems that after Git rebase I forgot
to delete them.
* [Slim4] Refresh samples
* [Slim4] Add pattern option to mockString method
[ref] https://tools.ietf.org/html/draft-wright-json-schema-validation-00#section-5.8
* [Slim4] Add enum option to mockString method
[ref] https://tools.ietf.org/html/draft-wright-json-schema-validation-00#section-5.20
* [Slim4] Refactor mockInteger and mockNumber tests
* [Slim4] Refactor mockString tests
* [Slim4] Use null coalescing operator
* [Slim4] Implement enum option in mockString method
* [Slim4] Add tests for enum option of mockString
* run all script in circleci
* test kotlin clients
* add new files
* undo chanages to circleci script
* update samples
* update bitwise config
* fix typo
* Some clean code.
* Add support for retrofit2 in models and apis. Need work in ApiClient, but it's not urgent.
* Add ApiClient with retrofit2 support.
* Remove unnecessary package.
* Add scripts to generate samples.
* Generate sample of retrofit2
* Change toUpperCase to toUpperCase(Locale.ROOT) to fix compile.
* Added GSON library when it's needed
* Fix typo.
* Add some missing common files.
* Execute bin script.
* Remove copy&paste error in script.
* [kotlin] update outdated files
* Fix apis with no params.
* Add missing import in ApiClient
* Add support for CSV, SSV, TSV, PIPES, SPACES in retrofit 2 library.
* Fix package name.
* Execute kotlin-client-retrofit2.sh script.
* force rebuild.
* execute script again.
* Add missing imports from okhttp3.
@Deprecated has a message param that java not. Add it with a default message.
* Execute retrofit2 script.
* Rerun script.
* Adds composed model support for allOf oneOf anyOf
* Moves discriminator into discriminator() class method, adds test_deserialize_lizard, adds setting discriminator using allOf schema
* [typescript-angular] Control response mime type via param
* [typescript-angular] Update samples.
* [typescript-angular] Wrap httpHeaderAccept in an options object.
* [typescript-angular] Updated samples.
* Fix multi-part binary array strings
Multi-part binary array strings as outlined in #3139 resulted in `MultipartFile` rather than `List<MultipartFile>`. This PR attempts to resolve this by adjusting the templates.
Two tests have been added: one for `spring-boot` and one for `spring-cloud`.
Resolve#3139
* Fix multipart file name and description
* Handle array of MultipartFile for delegate
* Update samples due to file description being picked up
* Upload result of bin/spring-stubs
OAS 3.x specification isn't entirely clear on oneOf support. JSON Schema
defines oneOf in such a way that the Schema is only valid if it
validates against exactly one of the referenced Schemas. This suggests
that a Schema defined with oneOf can't include additional "dynamic"
properties. OpenAPI extends on this by adding the necessary
discriminator object, which allows tooling to decide the intended
Schema.
As tooling, openapi-generator may support loose or confusing definitions
in the Specification to better support our user's use cases. In this
case, we may warn that while this usage is technically valid the two
target specifications are unclear about the actual constraints regarding
oneOf.
* [Go] Add multiple servers support to Go-experimental client
* [Go] Use same configuration in go and go-experimental
* [Go] Use Replace -1 instead of ReplaceAll
* [Go] Fix typo and add bound check
* [Go] Regenerate missing templates
* Adds comment in java test where we need to check the fruit model
* Adds oneOf test to DefaultCodegenTest.java, adds code to include properties in composed schema
* Add debug flag for go-experimental generator
* Check for errors before dumping the response in Go generator
* samples/openapi3: update samples for Go generators
* Add support for dumping request and response in Go generated clients
The following change adds a new configuration setting, which
controls whether clients want to dump the HTTP request and response.
Useful when debugging API calls and clients.
* samples: Update Go samples with XML
* Use log.Logger when dumping HTTP request and response in Go client
* Make typescript-node support bearer token authentication and add support for intercepting request
* Explicit typing of interceptors
* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache
Formatting
Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
* Build Petstore
* [swift] introduce result type as response library
* iOS - run petstore samples
* [swift4] add result sample to testing pipeline
* [swift] update docs with result type
* [swift] update result visibility
* [swift] update docs
* Add queue parameter to API
* Apply queue to response function argument
* Update petstore sample
* Update all sample projects
Run ./bin/swift4-all.sh then remove unrelated diff.
* Refactor variable name
Rename queue to apiResponseQueue, because apiResponseQueue is more clear for explaining the context.
* Update Gradle in generated Java projects from 2.14.1 to 6.0.1
* Upgrade Java 11 native Gradle from 5.5 to 6.0.1
When Java 11 native client library was introduced it was introduced with an overridden version of the Gradle wrapper (5.5 instead of 2.14.1). From looking at that PR, there doesn't appear to be any specific reason for the versions to differ. This removes the only override of the Gradle wrapper so all the Java projects are up to date and shares the same version.
* [swift] implement non public api
* [swift] add petstore for non public api
* [swift] fix error in extension that cannot be internal
* [swift] update docs
* Convert not string enum default value to string by toString.
* Add some test cases for enum's default value.
* Convert string default value to enum var name format.
* sync master, update samples
* Initial work on a redux-query client generator.
* Update to match the required redux-query version w/ fixed TS defs.
* Fixes for query parameters, add samples.
* Add windows versions of redux-query scripts.
* Fix for form data handling.
* Initial work on multiple inheritance support.
* Tweaks for discriminator usage + from/to JSON.
* Fix initialization of queryParameters if needed.
* Copy over more QueryConfig values into the final generated QueryConfig.
* Fix for imports that are combined types.
* [cli][batch] Better glob support
If invoked as `openapi-generator batch *.yaml`, the command might
previously fail in some shells where `*.yaml` expands to file name only.
This supports globs without path-part in the filename to prevent
possible NPE.
* [cli] Document batch command
* FIXES#4539 replace line comment with block comment
eslint requires you to use a block comment for ignoring whole files.
* changed comment style in other templates
* generated samples
* generated openapi3 samples
* Revert "generated openapi3 samples"
This reverts commit 98af3dfc
* generated missing samples
* missing indent on the new feature pull request.
* One indentation to much
* Import for application was still missing
* some middleware got in the runServer name
* #2526 support the delegate pattern for kotlin-spring
* fix the diamond
* update the doc
* fix ci
* use Resource? instead of MultipartFile when dealing with files
* bump after rebase on master
* [java] Improve assumptions about artifactVersion
The logic to apply a default artifactVersion was faulty, resulting in
generation without an explicit version specified either on the OpenAPI
Document or at the CLI/plugin level would result in poms generated with
<version></version>
As an example, in any commit made up to 5 weeks before this commit, run:
./bin/java-pkmst-petstore-server.sh
The solution is to ensure that artifactVersion isn't overwritten by an
"in-process" additonalProperties map, and also to ensure that
additionalProperties is synced with the artifactVersion property once it
has been modified.
As a future task, we'll want to move any modification of
additionalProperties outside of preprocessOpenAPI (to processOpts).
We're hiding manipulation of the "Opts" at a point where we should
really only be applying logic on top of the OpenAPI doc.
* [sample] Regenerate java-pkmst sample
* Validation script batches only samples
In this change, the validation script will batch only sample generation.
For meta and documentation, it will always be iterative.
Also made changes to meta-codegen*.sh so conditionals which may invoke
maven are explicitly rooted.
* [ci] batch python-experimental, include new springboot option
Scalaz is not re-generated by users or CI (only verified), so some
compilation issues have been introduced into the generator.
Specifically, the generator previously didn't handle defaults well (or
even correctly, maybe?). This broke when array models were added to the
openapi document used to generate samples. The inclusion of Date-related
mappings being mapped to joda time in DefaultCodegen also caused some
issues with new DateTime properties on models.
Over the course of what appears to be Nov 10-17 2019, CircleCI seems to
be having intermittent issues with Scalaz verification. I found that
green builds were picking up SBT 0.13.x and failed builds were SBT
1.1.0. It's not clear where the system level SBT is being defined, but a
simple fix has been to enforce the sbt version in the generator.
For those unfamiliar with SBT; the SBT command acts as a launcher script
which may switch to older/newer versions of SBT. A Scala project invoked
with SBT 1.1.0 will look for an sbt.version override and happily attempt
compilation with the available SBT 1.1.0. The problem is that SBT 1.1.0
uses Scala 2.12 and this is not binary compatible with Scala 2.11. This
can cause issues with builds due to plugins or incompatible Java version.
* 4383: Client resttemplate and webclient. Form Params are badly added when they are lists
* 4383: Force redeploy
* 4383: Fix test
* 4383: Fix map
* 4383: revert change
* 4383: Fix test resttemplate-withXml
Because when we have tags on OpenAPI Specification, there can be more than 1 Feign Beans being generated and the title field is share by all the clients. This makes the code to stop working in runtime.
Here is a PR which uses the classVarName instead, which follows the standards and should be enough to solve this issue.
For more info please refer to: https://github.com/OpenAPITools/openapi-generator/issues/2205
2019-07-09 01:21:43 +01:00
7422 changed files with 282023 additions and 55793 deletions
@@ -101,5 +101,5 @@ To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all t
- Make sure test cases passed after the change (one way is to leverage https://travis-ci.org/ to run the CI tests)
- File a PR with meaningful title, description and commit messages.
- Recommended git settings
-`git config --global core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
-`git config core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
- To close an issue (e.g. issue 1542) automatically after a PR is merged, use keywords "fix", "close", "resolve" in the PR description, e.g. `fix #1542`. (Ref: [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
[](https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM)
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
[](https://twitter.com/oas_generator)
</div>
@@ -53,6 +56,8 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/)| 13.05.2020 | Major release with breaking changes (no fallback)
4.3.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.3.0-SNAPSHOT/)| 29.02.2020 | Minor release (breaking changes with fallbacks)
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g php -o c:\temp\php_api_client`)
<!-- RELEASE_VERSION -->
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.2.0/openapi-generator-cli-4.2.0.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.2.3/openapi-generator-cli-4.2.3.jar)
<!-- /RELEASE_VERSION -->
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -557,7 +567,7 @@ Here is a list of community-conitributed IDE plug-ins that integrate with OpenAP
- Visual Studio: [REST API Client Code Generator](https://marketplace.visualstudio.com/items?itemName=ChristianResmaHelle.ApiClientCodeGenerator) by [Christian Resma Helle](https://christian-helle.blogspot.com/)
- Visual Studio Code: [Codewind OpenAPI Tools](https://marketplace.visualstudio.com/items?itemName=IBM.codewind-openapi-tools) by [IBM](https://marketplace.visualstudio.com/publishers/IBM)
## [4 - Companies/Projects using OpenAPI Generator](#table-of-contents)
Here are some companies/projects (alphabetical order) using OpenAPI Generator in production. To add your company/project to the list, please visit [README.md](README.md) and click on the icon to edit the page.
@@ -575,19 +585,23 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [California State University, Northridge](https://www.csun.edu)
@@ -617,9 +636,11 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [TUI InfoTec GmbH](http://www.tui-infotec.com/)
- [unblu inc.](https://www.unblu.com/)
- [Veamly](https://www.veamly.com/)
- [Woleet](https://www.woleet.io/)
- [WSO2](https://wso2.com/)
- [Vouchery.io](https://vouchery.io)
- [Xero](https://www.xero.com/)
- [Yahoo Japan](https://www.yahoo.co.jp/)
- [Yelp](https://www.yelp.com/)
- [Zalando](https://www.zalando.com)
@@ -630,6 +651,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2018/05/15 - [REST API仕様からAPIクライアントやスタブサーバを自動生成する「OpenAPI Generator」オープンソースで公開。Swagger Codegenからのフォーク](https://www.publickey1.jp/blog/18/rest_apiapiopenapi_generatorswagger_generator.html) by [Publickey](https://www.publickey1.jp)
- 2018/06/08 - [Swagger Codegen is now OpenAPI Generator](https://angular.schule/blog/2018-06-swagger-codegen-is-now-openapi-generator) by [JohannesHoppe](https://github.com/JohannesHoppe)
- 2018/06/21 - [Connect your JHipster apps to the world of APIs with OpenAPI and gRPC](https://fr.slideshare.net/chbornet/jhipster-conf-2018-connect-your-jhipster-apps-to-the-world-of-apis-with-openapi-and-grpc) by [Christophe Bornet](https://github.com/cbornet) at [JHipster Conf 2018](https://jhipster-conf.github.io/)
- 2018/06/27 - [Lessons Learned from Leading an Open-Source Project Supporting 30+ Programming Languages](https://speakerdeck.com/wing328/lessons-learned-from-leading-an-open-source-project-supporting-30-plus-programming-languages) - [William Cheng](https://github.com/wing328) at [LinuxCon + ContainerCon + CloudOpen China 2018](http://bit.ly/2waDKKX)
- 2018/07/19 - [OpenAPI Generator Contribution Quickstart - RingCentral Go SDK](https://medium.com/ringcentral-developers/openapi-generator-for-go-contribution-quickstart-8cc72bf37b53) by [John Wang](https://github.com/grokify)
- 2018/08/22 - [OpenAPI Generatorのプロジェクト構成などのメモ](https://yinm.info/20180822/) by [Yusuke Iinuma](https://github.com/yinm)
@@ -690,7 +712,24 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2019-10-24 - [Microprofile OpenAPI - Code First or Design First?](https://github.com/pe-st/apidocs/blob/master/MicroProfile-OpenAPI-all-slides.pdf) by [Peter [pɛʃə] Steiner](https://twitter.com/pesche) at [eclipsecon Europe 2019](https://www.eclipsecon.org/europe2019/sessions/microprofile-openapi-code-first-or-design-first)
- 2019-11-06 - [Generating API clients based on OpenAPI v3 specifications](https://98elements.com/blog/generating-api-clients-based-on-openapi-v3-specifications) by [Dominik Jastrzębski @ 98elements](https://98elements.com)
- 2019-11-06 - [OpenAPIを利用して自前のAPIサーバー(Sinatra)を移植した時のメモ](https://qiita.com/YasuhiroABE/items/c73920eab2d9d6e97fd9) by [Yasuhiro ABE](https://twitter.com/YasuhiroABE)
- 2019-11-07 - [API First development with OpenAPI - You should you practise it !?](https://www.youtube.com/watch?v=F9iF3a1Z8Y8) by [Nick Van Hoof](https://www.nickvanhoof.com/) at [Devoxx Belgium 2019](https://devoxx.be/)
- 2019-11-08 - [JHipster beyond CRUD - API-First for Enterprises by Enrico Costanzi](https://www.youtube.com/watch?v=m28JFovKQ20) by [Enrico Costanzi](https://twitter.com/enricocostanzi) at [JHipster Conf 2019 in Paris](https://jhipster-conf.github.io/)
- 2019-11-11 - [TypeScript REST APIクライアント](https://qiita.com/unhurried/items/7b74f7d3c43545dadd2b) by [@unhurried](https://qiita.com/unhurried)
- 2019-11-11 - [One Spec to Rule them all - OpenAPI in Action](https://www.youtube.com/watch?v=MMay_nht8ec) by [Andreas Litt](https://github.com/littldr) at [code.talks 2019](https://www.codetalks.com/)
- 2019-11-17 - [OpenAPI Generator YouTube playlist](https://www.youtube.com/playlist?list=PLtJyHVMdzfF6fBkOUV5VDVErP23CGgHIy) at [YouTube](https://www.youtube.com)
- 2019-11-20 - [Introduction to OpenAPI](https://noti.st/lornajane/HvDH7U/introduction-to-openapi) by [Lorna Mitchell](https://twitter.com/lornajane) at [GOTO Copenhagen 2019](https://gotocph.com/2019/)
- 2019-11-20 - [How to Generate Angular code from OpenAPI specifications](https://dotnetthoughts.net/how-to-generate-angular-code-from-openapi-specifications/) by Anuraj
- 2019-11-23 - [Swagger ではない OpenAPI Specification 3.0 による API サーバー開発](https://www.slideshare.net/techblogyahoo/swagger-openapi-specification-30-api) by [Tetsuya Morimoto](https://github.com/t2y) at [JJUG CCC 2019 Fall](https://ccc2019fall.java-users.jp/)
- 2019-11-24 - [Accelerate Flutter development with OpenAPI and Dart code generation](https://medium.com/@irinasouthwell_220/accelerate-flutter-development-with-openapi-and-dart-code-generation-1f16f8329a6a) by [Irina Southwell](https://medium.com/@irinasouthwell_220)
- 2019-11-25 - [openapi-generatorで手軽にスタブサーバとクライアントの生成](https://qiita.com/pochopocho13/items/8db662e1934fb2b408b8) by [@pochopocho13](https://twitter.com/pochopocho13)
- 2019-11-26 - [CordaCon 2019 Highlights: Braid Server and OpenAPI Generator for Corda Client API’s](https://blog.b9lab.com/cordacon-2019-highlights-braid-server-and-openapi-generator-for-corda-flows-api-s-d24179ccb27c) by [Adel Rustum](https://blog.b9lab.com/@adelrestom) at [B9lab](https://blog.b9lab.com/)
- 2019-12-04 - [Angular+NestJS+OpenAPI(Swagger)でマイクロサービスを視野に入れた環境を考える](https://qiita.com/teracy55/items/0327c7a170ec772970c6) by [てらしー](https://twitter.com/teracy55)
- 2019-12-17 - [OpenAPI Generator で OAuth2 アクセストークン発行のコードまで生成してみる](https://www.techscore.com/blog/2019/12/17/openapi-generator-oauth2-accesstoken/) by [TECHSCORE](https://www.techscore.com/blog/)
- 2019-12-23 - [Use Ada for Your Web Development](https://www.electronicdesign.com/technologies/embedded-revolution/article/21119177/use-ada-for-your-web-development) by [Stephane Carrez](https://github.com/stcarrez)
- 2020-01-17 - [OpenAPI demo for Pulp 3.0 GA](https://www.youtube.com/watch?v=mFBP-M0ZPfw&t=178s) by [Pulp](https://www.youtube.com/channel/UCI43Ffs4VPDv7awXvvBJfRQ) at [Youtube](https://www.youtube.com/)
- 2020-01-19 - [Why document a REST API as code?](https://dev.to/rolfstreefkerk/why-document-a-rest-api-as-code-5e7p) by [Rolf Streefkerk](https://github.com/rpstreef) at [DEV Community](https://dev.to)
- 2020-01-28 - [Get Your Serverless Swagger Back with OpenAPI](https://dev.to/matttyler/get-your-serverless-swagger-back-with-openapi-48gc) by [Matt Tyler](https://dev.to/matttyler)
-
## [6 - About Us](#table-of-contents)
@@ -706,7 +745,7 @@ OpenAPI Generator core team members are contributors who have been making signif
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.