* create sample with "jaxrs-jersey" language & openapi v3
* circle ci setting
* fix typo. also add "jaxrs-jersey" to all samples profile
* artifactId conflicts. rename.
* generate samples with "./bin/openapi3/jaxrs-jersey-petstore.sh"
* sample server projects "jaxrs-spec", "jaxrs-spec-interface", and "jaxrs-spec-interface-response" should be tested
* update jax-rs api to 2.1, in which @PATCH annotation is available
add jackson annotation dependency
* add joda-time to dependency
* modify mustache template to add @JsonCreate, @JsonValue import
* fix return type of enum value() method
* add InputStream import
* Attachment class is in apache cxf. spec should not depend on it
* re-generate sample jaxrs-spec, jaxrs-spec-interface, and jaxrs-spec-interface-response
* Add elm template parameter to the samples testing script
* Update elm-date-extra package; fixes#458
* Update generated elm samples
* Use Elm doc comments; remove some unneccessary newlines
* Update generated Elm samples
* Remove unnecessary parenthesis around non-optional container type
* prevent throwing another exception if the request fails eg connection reset
* prevent throwing another exception if the request fails eg connection reset
* [Slim] Add Basic Authentication Middleware
User needs to add own implementation to verifyCredentials method in AuthBasic.php.
* [Slim] Update README template
I'm not sure about `middlewareSrcPath` variable. I'll fix it in following PRs
if path is broken.
Hope that notice in README catches attention and most of users will read it.
* Revert "[Slim] Update README template"
This reverts commit 204ee02fd853feb3cc19db5658348c7fee6ca3f5.
* Revert "[Slim] Add Basic Authentication Middleware"
This reverts commit 6a8e03079a70213797896e660b7e7fa1894da0a6.
* [Slim] Add "tuupola/slim-basic-auth" package
Package "tuupola/slim-basic-auth" 3.1.0 requires PHP 7, that's why I
set it's version to ^3.0.0 in Composer. Minimum version will be
3.0.0-rc.1 which supports PHP 5.5. I've tested build with PHP 7, it
would be nice to check build with PHP 5.5 someday.
* [Slim] Update README template
Not sure about forward slash in path to SlimRouter class. I will fix it
in upcoming PRs if necessary.
* [Slim] Refresh samples
* Remove warnings and add custom request sending
* Remove duplicate code from subclass and add missing setupRoutes
* Removed redundant override
* Add serialization of responses
* Fix CI failure
* Add inline function to duplicate code.
* Make const reference wherever possible
* Add support for Array of Primitive types.
* Add Array of Primitive support for Error response
* Update for multiple path params
* Ignore additionalProperties
rust-server doen't yet support them, and they cause quite a bit of havoc at the moment (ending up as the `HashMap` type).
* Use .equals() rather than `==`
* Add support for multiple rust-server samples
Though we only have the one as yet. This will make it easier to move rust-server back on to the main test spec, whilst preserving the ability to have rust-specific test specs.
* Rust samples need unique names
* Move samples to a dedicated directory
So that there is nothing else in the folder where they live so that the workspace definition in the root Cargo.toml can be simple.
This commit includes the following changes:
- Fix docs not generating parameter descriptions, add rust sample.
- Add example to doc output.
- Add basic scope reporting.
- Stringify the JSON "Example" objects for response schemas.
- Prettify JSON examples in response schemas.
- Parse and present multiline response descriptions.
- Add API error details to docsgen.
- Add read only markers to read only properties.
- Fix up style document indentation.
- Add support for `x-shared-errors`, an extension to define common error types that can be shared across a microservice framework.
* Initial wiring to get the QHttpEngine Server running for Qt5 server
* Add wiring for build environment
* Add current generated files
* Update README.md
* Solved Build for Docker and Host
Wired up main
TODO : Route API call to handlers
* Wire up routes
* Wiring up routes update
* Convert Path to QHttpEngine format
* Rename some files
* Extract query Parameters and path parameters
* Removed pri file, Qt can read CMakeLists.txt
* Initial support of deserialization
* Adding initial support for response serialization
* Setup simple signal handler to quite the server with Ctrl+C in a container and on the host
* Remove unneeded function
* Add executable permission to script and move from Debian to Alpine for Dockerfile
* Add stringValue of missing types
* Unify toJson'xxx' APIs the same way like setValue
* Rework to remove all pointer usages, pass by const references, simplify model, add emit signals to default handlers
* Port GMock feature from NativeInstruments
swagger-codegen fork:
https://github.com/NativeInstruments/swagger-codegen/pull/9
* Update petstore for Mockable APIs
* Fix shared_ptr in templates for File params
* Add guards in templates for GMock APIs
* Regenerate samples without GMocks
* Add useful constructors for GMock APIs
* Add constructors to API header interface
* Update samples with explicit monadic constructors
* Add default implementations for destructors
* [Rust] Move request logic into standalone file
This reduces the number of variables which are used in the generated
operations, thus fixing #512.
This also fixed a TODO related to URI parsing errors.
Other than that, it is meant to be functionally identical.
* [Rust] Add support for non-file form params
Up until now, they just weren't there at all
* [Rust] Use more rustic terms in example
* [rust-server] drop 'file' support
In swagger v2, we had 'binary', 'byte', and 'file'. OpenAPI v3 only has
the former two. This commit drops the old 'file' handling. This has the
side-effect of removing a half-complete implementation of form parameter handling.
This removes the ability to send files as streams, so will make life
harder for those wishing to send large files without running out of
memory.
* Remove all remaining uses of `hasFile`
* Add the Possibility to fetch dependencies needed by the generated code
* Fix typo
* Make External Libraries default to false
* Add parameter string to the javadoc comment
#513 Fixed error that causes exception when trying to perform HTTP requests without a body and an empty Object is used as body instead. In these cases an exception is thrown indicating that it is not possible to find a message converter for java.lang.Object and application/json.
* typescript-jquery: fix promise resolution
The type annotation that is generated for an API states that the
JQueryPromise<...> will be resolved with a single value.
The implementation, on the other hand resolves with two.
This changes the implementation to resolve the promise in accordance
with the type annotation.
It also adds another type specifying what will be passed if the promise
is rejected.
* Update petstore sample for typescript-jquery
* Generate RequestParser trait to allow retrieving operation ID in middlewares
* Update function name
* Fix incomplete comment
* Add comment poitning out auotgenerated duplication
* Final generation of sample scripts
* MMORCH-913 - Allow passing wrapped hyper clients to codegen
* Deprecate old API for back-compatibility rather than removing it
* Actually test Rust-server example integrations
* Added a .gitignore to ignore the build folder
* Added a CMakeLists and a basic implementation of a double linked list
* Added the pet model
* changed the behaviour when a list gets freed - the data of each element doesn't get freed anymore
* Added the tool uncrustify in order to make code look better
* Uncrustified code
* added an implementation(constructor and deconstructor) for the category model
* Added a third party JSON library
* The pet struct now uses pointers for its members; the pet struct now has a proper constructor and a basic toJSON method
* The pet model now gets fully serialized into JSON
* Fixed the example url...
* Added third party library libcurl
* Modified category struct and added an unit test
* Added a foreach macro and added two functions
* Added a tag model and an unit test
* the pet struct now uses no double pointer for it's name anymore and no pointer for the enum status anymore; the pet struct can now be fully converted to json and parsed from json
* Added the struct APIClient and an unit test
* Uncrustified the unit test for category
* Added ifdef in pet.h to prevent errors
* Added one API endpoint to get a pet by id
* Added a "== 0" comparison that I forgot
* Added some kind of debug functionality to test-petApi.c
* Removed the DEBUG define
* Moved the c petstore example from samples/client/c to samples/client/petstore/c
* Renamed function getPetById to petApi_getPetById to avoid name collisions
* Removed unecessary method in list.c
* Added POST functionality; added petApi_addPet method and improved unit-test for petApi; cleaned up some code in apiClient
* removed two methods in list.c(string/tag to JSON) and moved their code directly in the pet_convertToJSON method
* Removed old, already commented out, puts artifact in apiClient.c
* Added a convertToJSON method to the category model
* Added a convertToJSON method to the tag model
* changed how the convertToJSON method works in the pet model
* Adjusted the unit-tests on how the convertToJSON method now works(now returns a cJSON* instead of a char*)
* apiClient_t now needs to be given to API methods as a parameter. This means apiClient_t can now be reused in multiple methods.
* Added an untested concept for how authentication could be handled
* Tested basicAuth using wireshark and added untested OAuth2 feature
* Added support for api key authentication using the http-header and tested functionality using wireshark
* Renamed the dataToPost parameter in apiClient_invoke to bodyParameters
* Renamed apiKey_t to keyValuePair_t and implemented GET queries
* Spaces are now being replaced with + in querryParameters
* Renamed assembleHeader to assembleAPIKeyAuthentication and added support to change the request type
* Implemented the option to provide custom httpHeader fields to apiClient_invoke
* Added support for form parameters to the apiClient_invoke method
* update petstore sample
* update go generated code comment
* update samples for go petstore
* update code generation comment
* update samples for go petstore
* Trigger CI due to previous Shippable race condition
* add -DwithGoCodegenComment=true option
* reset samples
* add withGoCodegenComment=true to bin/go-petstore-withxml.sh
* update samples/.../go-petstore-withXml using -DwithGoCodegenComment=true
* 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
* support form-data file MIME `name` parameter
* update test spec and Go client for form-data file name
* update samples for ensure-up-to-date
* update mustache template
* update samples for Go client
* improve assignment location
* update samples
* [Slim] Decouple Api files into separated PHP Classes
This enhancement required for modular testing and code coverage generating.
* [Slim] Define all app routes in SlimRouter PHP Class. Generate new samples
* delete Go client sample output dir before rebuild
* purge go-petstore-withXml samples output dir before build
* update samples
* fix go-petstore-withxml.sh echo path
* fix schema/definition name as 'file'
* update samples
* Trigger CI due to previous Shippable race condition
* add fix with toModelName(openAPIType)
* update tests for file schema/definition name
* Update 3.0 test spec
* update samples
* update samples for jaxrs-cxf
* Trigger CI due to previous Shippable race condition
* add back explode
* add file suffix fix for _test.go
* Trigger CI due to previous Shippable race condition
* Trigger CI due to previous Shippable race condition
* Trigger CI due to previous Travis CI stall
* Trigger CI due to previous Travis CI stall
* Trigger CI due to previous Shippable race condition
* add Go client test testFilenames
* Added a .gitignore to ignore the build folder
* Added a CMakeLists and a basic implementation of a double linked list
* Added the pet model
* changed the behaviour when a list gets freed - the data of each element doesn't get freed anymore
* Added the tool uncrustify in order to make code look better
* Uncrustified code
* added an implementation(constructor and deconstructor) for the category model
* Added a third party JSON library
* The pet struct now uses pointers for its members; the pet struct now has a proper constructor and a basic toJSON method
* The pet model now gets fully serialized into JSON
* Fixed the example url...
* Added third party library libcurl
* Modified category struct and added an unit test
* Added a foreach macro and added two functions
* Added a tag model and an unit test
* the pet struct now uses no double pointer for it's name anymore and no pointer for the enum status anymore; the pet struct can now be fully converted to json and parsed from json
* Added the struct APIClient and an unit test
* Uncrustified the unit test for category
* Added ifdef in pet.h to prevent errors
* Added one API endpoint to get a pet by id
* Added a "== 0" comparison that I forgot
* Added some kind of debug functionality to test-petApi.c
* Removed the DEBUG define
* Moved the c petstore example from samples/client/c to samples/client/petstore/c
* Renamed function getPetById to petApi_getPetById to avoid name collisions
* Removed unecessary method in list.c
* Added POST functionality; added petApi_addPet method and improved unit-test for petApi; cleaned up some code in apiClient
* removed two methods in list.c(string/tag to JSON) and moved their code directly in the pet_convertToJSON method
* Removed old, already commented out, puts artifact in apiClient.c
* Added a convertToJSON method to the category model
* Added a convertToJSON method to the tag model
* changed how the convertToJSON method works in the pet model
* Adjusted the unit-tests on how the convertToJSON method now works(now returns a cJSON* instead of a char*)
* apiClient_t now needs to be given to API methods as a parameter. This means apiClient_t can now be reused in multiple methods.
* Added an untested concept for how authentication could be handled
* Tested basicAuth using wireshark and added untested OAuth2 feature
* Added support for api key authentication using the http-header and tested functionality using wireshark
* Delete unused IF statement
JSON_PRETTY_PRINT is available since PHP 5.4.0
* Update samples
- bin/php-petstore.sh
- bin/security/php-petstore.sh
- bin/openapi3/php-petstore.sh
* Added serviceSuffix and serviceFileSuffix parameters to control the suffixes of generated class and file names
* Updated TypeScriptAngularClientOptionsProvider to include the new serviceSuffix and serviceFileSuffix parameters
* Fixed part in generator where hardcoded 'Service' suffix was used.
* Made the . in the service file name part of the config setting
* Updated cli message
* [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.
* Added missing includes for optional
* Removed shared pointer from pistache generator
* Changed Net namespace to Pistache Namespace
* Clean up code and removed unnecessary lines in mustache files
* Removed remaining shared pointer syntax
* Code review fixes + updated samples
* Added const to all model setter functions, and reference to all params in setters that are not primitives
* Refactored modelbase
* Removed const
* Updated samples
* add test case for ref to map (boolean) in fake petstore spec
* fix alias to map in model properties
* remove logging from new method
* update samples for the new map test case
* fix javadoc string
* skip testSanitizeNestedInvalidValue in php test
* skip test in php oas3 client
* add logic to handle outer enum
* update samples
* fix alias in model's allOf
* generate models for map def
* update petstore samples
* update petstore samples
* #125: Correctly handle multiple valid responses
* Fixed defaultResponses
* Fixed void-returns
* Fixed multiple return-types without an actual type
* Update the samples under openapi3 folder
* Restore test classes to commit 5340c35ce1
* Fix samples/client/petstore/java/feign
* Fix samples/client/petstore/java/jersey1
* Fix samples/client/petstore/java/jersey2-java8
* Fix samples/client/petstore/java/jersey2
* Fix samples/client/petstore/java/okhttp-gson
* Fix samples/client/petstore/java/resttemplate/src/test/java
* Move "StringUtilTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Fix echo line
* Move tests to 'test-manual/common/'
* Move "ApiClientTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Move "ConfigurationTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Move "auth/ApiKeyAuthTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Move "auth/HttpBasicAuthTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Move "model/EnumValueTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Move "JSONTest.java" to "samples.ci"
and add copy command in *.sh scripts
* Replace "cp" => "mkdir & cp"
* JSONTest.java is java8 specific
* Run bin/java-petstore-all.sh
* "$_" does not work on Shippable
* [rails] In order to set up the Ruby on Rails stub server easily, remove the dependency on MySQL
* [rails] Update sample codes of Ruby on Rails stub server
* Configuration option to disable HTML escaping when using Gson
The default implementation of Gson will escape certain characters by default. This
includes the `=` character, which is used in base64 encoding and cause problems when
deserializing the value to a base64 encoded string in a service.
Adding an option for disabling this feature makes it easier to generate client code
with sane defaults.
* Update Petstore sample
* First attempt at getting rust-server working
* Solve the problem of spurious 'object's
* We've found the missing models
* Catch some single-var objects correctly
* Get single-param models 'working'
* Got files working
* Remove surplus logging
* Disable some things to get it compiling
* `cargo test` now passes as well
* Create rust-server-specific petstore.yaml
We've commented out a few bits that rust-server doesn't yet support
* Remove commented-out code
And finally get rid of the generation date in the sample
* Add possibility to build and run go service in a container
* Remove tabs
* Update Pet Store server sample
* Add {{{packageName}}} instead of petstore
Microsoft.Extensions.SecretManager.Tools
Microsoft.DotNet.Watcher.Tools
For docker containerized apps, avoiding restore again is important for image size
* [Spring] Add apiFirst option
* Git diff to see what's wrong
* Git diff to see what's wrong
* Update bin/ensure-up-to-date
* Run bin/ensure-up-to-date
* Make SwaggerCodeGen serialize subclasses properly (PHNX-859) (#1)
Motivation
----
Previously, when serializing as subclass of a property, generated swagger clients would only serialize properties of the parent class causing some values to not be pass through
Modifications
----
Before serializing attributes of a given type, we check to see if there is a specific type to be serialized so that we don't miss any properties.
* Fix improper whitespace in mustache template (PHNX-859) (#2)
Motivation
----
OpenAPI Generator upstream requested whitespace fixes (from tabs to 4 spaces)
Modifications
----
Fixed whitespace
* Create 'bin/ensure-up-to-date' script
* Update shippable config
* Do no longer copy 'CI/pom.xml.shippable' to 'pom.xml'
* Fix paths in CI/pom.xml.shippable
* shippable: remove write to file
* shippable: move order
* Run 'bin/ruby-petstore.sh' to update 'samples/'
* Add Kotlin scripts to the list
* Fix implFolder issue with jaxrs-cxf-cdi generator
This fix is for the issue:
https://github.com/swagger-api/swagger-codegen/issues/8113
When using jaxrs-cxf-cdi and other JaxRS generators, the implFolder
config is not honored by hte generator on windows.
* jaxrs-cxf-cdi: containers with no default init
Change similar to
https://github.com/swagger-api/swagger-codegen/pull/5363/files for
jax-rs-cdi generator.
When a property that is a contained is not declared as required, it is
initialized to `null`, and not to the empty container.
This makes apio mich more easy to use, since one can differentiate when
an input list in json has been set to the empty array or simply not set.
Swashbuckle generation was missing the configuration to rename from
default swagger.json to openapi.json (expected by change in SwaggerUI's
configuration for the endpoint).
This generates to the appropriate location and updates the sample to
load the Swagger UI properly on run.
This change resolves an issue I had with opening the aspnetcore Solution (Visual Studio could not load the project). The *.sln file contained an old GUID for ASP.NET 5.
Also removed the obsolete NuGet.Config file and updated the package references to the newest versions.