837 Commits

Author SHA1 Message Date
William Cheng
d46189bb28
Add .net framework 4.8 support (#13504)
* add .net framework 4.8 support

* add dependency, test in appveyor

* update doc
2022-09-26 11:02:39 +08:00
Justin Black
7e73645303
Switches python-experimental in as the primary python client (#13501)
* Changes python to python-prior

* python -> python-prior, python-experimental->python

* Renames sample spec directories

* Samples regnerated

* Regenerates docs

* Fixes test

* Samples regenerated

* Updates renerators list

* Fixes made to python paths in pom.xml

* Fixes node4 sh file paths
2022-09-24 16:19:38 +08:00
Justin Black
5f9910dcab
[python-experimental] reduces python version (#13481)
* Removes classmethod property combinations

* Changes python version to 3.8

* Changes python version to 3.7

* Tests fixed

* Samples updated

* Adds getAddSuffixToDuplicateOperationNickname and uses it in python-exp, samples regenerated

* test_paths regenerated

* Fixes bug

* Adds typing_extensions requirement
2022-09-21 18:41:11 -07:00
James Gilliland
abe8c74a3a
Fix php generators treating double as a native type (#13421)
* Fix php generators treating double as a native type

Fixes #13335

* Remove double handling in enum

* Add missed double type removal
2022-09-15 17:16:19 +08:00
William Cheng
cebdbb6a11
add additional properties support in r client (#13317) 2022-08-31 15:06:40 +08:00
Lukas Woodtli
27f3a5c36d
Small fixes and cleanup on cpp-restbed-server (#13305)
Some small issues sneaked into the improved restbed generator.
2022-08-29 18:26:13 +08:00
William Cheng
1e879af472 update doc 2022-08-27 18:35:48 +08:00
Lukas Woodtli
d2e60f59b3
Cpp restbed server improvements (#13030)
* Keep old implementation of cpp-restbed generator as cpp-restbed-server-deprecated

* Refactor operation path processing

* Restructure samples directory to better allow writing tests

* Improve templates for cpp-restbed-server

Improve templates

* Add integration tests

* Improvement in templates for cpp-restbed-server

* Fix tests

* Improve cpp-restbed generator

* Improve cpp-restbed-server

* Add more tests

* Add suppoert for arrays of enums in query params

* Generate CMakeLists.txt

* Small improvements and example in Readme

* Add integration tests to maven project

* Update doc
2022-08-27 18:10:28 +08:00
João Neto
62a0878bae
Combine javascript and javascript-apollo generators (#13270)
* Combine javascript and javascript-apollo generator functionality

* Combine javascript and javascript-apollo templates

* update configs

* deprecate javascript-apollo generator

* bonus magic string deletion 

* update samples

* update generator docs

* fix: include .babelrc in apollo generation

* update samples

* update samples

* rename javascript-apollo to javascript-apollo-deprecated

* fix javascript apollo library template

Apollo library now uses the partial_model_generic template file from the ES6 library, as it includes many fixes and improvements (including handling models with ill-named attributes)

* update samples

* Create javascript-apollo-deprecated.md

* Updated javascript generator template's gitignore

Updates .gitignore with that from https://github.com/github/gitignore/blob/main/Node.gitignore

Main reason for the update is to ignore the 'dist' folder with compiled files by default.

* javascript generator: merge api_test template files

The only difference is that Apollo is not designed for browser, so having a "if(browser)" check is useless, but doesn't hurt.

* update docs

* cleanup

* avoid possible config clash

* update javascript-apollo sample

* update javascript-es6 sample

I kept the pom.xml from before

* update javascript-promise-es6 sample

kept pom.xml

* update samples
2022-08-27 13:29:35 +08:00
William Cheng
37c8a745c5
[protobuf] fix set, add tests (#13286)
* fix set, add tests for protobuf

* add new files

* update doc

* remove yaml
2022-08-26 18:25:16 +08:00
Jacob Halsey
dc7ae051b8
[rust] [rust-server] Add AbstractRustCodegen (#13231)
* Add AbstractRustCodegen

* Fix minor bug

* Fix copy-pasting mistake

* Simplify addApiNamePrefixAndSuffix
2022-08-26 12:11:19 +08:00
Christoph Linder
b9a6be0cba
fixes #13131: support matrix parameters and other parameter styles in typescript-angular (#13132)
* fix TypescriptAngularPetstoreIntegrationTest

(since this has been abandoned for a long time: just copy the generated code the the "expected" directory)

* fix TypescriptAngularArrayAndObjectIntegrationTest

(since this has been abandoned for a long time: just copy the generated code the the "expected" directory)

* fix TypescriptAngularAdditionalPropertiesIntegrationTest

(since this has been abandoned for a long time: just copy the generated code the the "expected" directory)

* fixes #13131: add custom path parameter expansion to typescript-angular

* fixes #13131: add example for typescript-angular: paramExpansionStrategy=custom

* fixes #13131: document usage of paramExpansionStrategy=custom in README.mustache

* fixes #13131: fix unit tests and sample url for http-param-expander package

* fixes #13131: update samples

* fixes #13131: drop new cli parameter, handle encoding in template only

* fixes #13131: add TestNG groups to all Typescript tests

* fixes #13131: old angular/typescript does not understand type imports

* Apply suggestions from code review

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>

* fixes #13131: implement backwards-compatible behavior for format: 'date-time'

* fixes #13131: update typescript-angular integrationtests

* fixes #13131: review fixes + lots of documentation

* fixes #13131: update integrationtests

* fixes #13131: update docs/examples

* fixes #13131: update integrationtests

* fixes #13131: unify enums to union-types to make the api feel mora angular-ish

* fixes #13131: update examples

* fixes #13131: update docs/examples after merge of master

Co-authored-by: Christoph Linder <post@christoph-linder.ch>
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2022-08-24 09:35:40 +02:00
sheabot
8c79f6d2c9
fix(cpp-pistache-server): Add support for AnyType objects (#13232)
Co-authored-by: Ryan Shea <ryan.shea3@t-mobile.com>
2022-08-24 01:48:51 +08:00
William Cheng
ff03e1ac8d update doc 2022-08-22 18:50:29 +08:00
William Cheng
65d57a8bf1
[R] Add generateWrapper option (#13198)
* add generateWrapper option

* fix bug, add tests

* update doc
2022-08-17 15:05:57 +08:00
Zorp
904674c934
Add support for Angular v14 (#12901)
* Add support for Angular v14

- Support Angular 14
- Support rxjs 7.5.5, tsickle 0.46.3, ngPackagr 14.0.2, zonejs 0.11.5
- Requires typescript >= 4.6.0 and < 4.8.0

* Review comments

- Remove duplicate tests
- Added openapi-generator-ignore

* Update samples/client/petstore/typescript-angular-v14-provided-in-root/pom.xml

* Update samples/client/petstore/typescript-angular-v14-provided-in-root/pom.xml

* Update samples/client/petstore/typescript-angular-v14-provided-in-root/pom.xml

* Review comments

- Added typescript-angular-v14-provided-in-root test module to root pom.

* update samples

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
2022-08-17 08:02:44 +02:00
Jacob Halsey
4e123436d0
[rust-server]: Update help (#13194) 2022-08-16 15:35:51 +08:00
Christian Bartolo Burlò
2a196ce362
Fixed scala-sttp generator (#11949)
* fixed scala-sttp generator

* pr checklist

* fixed issue with imports in scala-sttp

* fixed samples

* changed isUnit to isDefault

* fixed errors

* Update modules/openapi-generator/src/main/resources/scala-sttp/api.mustache

Co-authored-by: João Ferreira <jtjeferreira@gmail.com>

* updated samples

Co-authored-by: João Ferreira <jtjeferreira@gmail.com>
2022-08-15 18:42:06 +08:00
William Cheng
c5a0374d2b
[Ruby] add useAutoload option to use autoload instead of require (#13153)
* [Ruby] Use Ruby autoload to lower memory usage and load times

Fixes #12648

Requiring all models up front can be very expensive in both time and
memory if there are many models. In an example client with 6000 models,
this would consume nearly 400MB of memory and take about 7 seconds to
load. This is mostly unnecessary as most users of the client library
will only actually use a small percentage of the library.

The changes in this commit use Ruby's autoload capability to defer the
loading until the constant is actually used. In that same example client
with 6000 models, when initially requiring the library, the memory
usage dropped to ~20MB and loaded in 0.3 seconds. As the constants are
loaded on-demand, the memory would increase towards that 400MB ceiling,
but if only a few constants are actually used, then memory will never
actually hit that ceiling.

An additional side effect of using Ruby's autoload is that the order of
declaring the constants is not important, as Ruby will naturally load
them in the correct order when they are needed. Thus, this commit obviates
PR #9103 and fixes #4690.

* add option to use autoload in ruby client

* test ruby clients only

* add tests

* update samples

* Revert "test ruby clients only"

This reverts commit 0aaf71cd4cc5d266f824b261a4d312f07bd589e5.

* update doc

Co-authored-by: Jason Frey <fryguy9@gmail.com>
2022-08-11 12:45:13 +08:00
y-tomida
5644e23128
[Kotlin] Add reserved word contract (#13108) 2022-08-07 09:50:47 +01:00
William Cheng
4635dda518
[R] Add httr2 support (work in progress) (#13005)
* add httr2 support to r client gen

* fix headers

* add accepts, content-types

* update samples

* fix req

* update samples

* various fixes

* add data file test

* fix streaming, add tests
2022-08-01 00:58:19 +08:00
Max K
c81a63fd7a
[aspnetcore] Added parameter to generate models in a seperate csproj (#13024)
* Added parameter to add models in seperate project

* Update samples

* refactored ELSE
2022-07-30 15:35:56 +08:00
William Cheng
3ac88e95ed
Add option to customize operationId in R client (#13000)
* add option to customize operationId in r client

* update doc
2022-07-24 09:19:18 +08:00
Paul Hagedorn
298ccfcfd8
[typescript-nestjs] Upgrade to NestJS v8 (#12937)
* feat(typescript-nestjs): upgrade to nestjs v8

Set default nestVersion to 8.0.0

* chore(typescript-nestjs): create typescript-nestjs-v8-provided-in-root.yaml and add it to samples.json

* chore(typescript-nestjs): generate samples

* docs(typescript-nestjs): generate docs

* chore(typescript-nestjs): re-generate samples
2022-07-21 13:41:32 +02:00
William Cheng
17ba8304b6
Update swashbuckle version to 6.4.0 (#12965)
* update swashbuckle to newer version

* use newer version of swashbuckle for all aspnet versions
2022-07-21 15:10:32 +08:00
Jared Bates
2dcc319e13
[csharp-netcore] Update RestSharp and add client_credentials auth support (#12789)
* Update RestSharp to v108

* Add OAuth2 Application (client_credentials) authentication

* Run generators and fix typos

* Undo accidental python and rust changes

* Add documentation, fix authenticator bug, and fix user agent bug

* Fix tests

Missed some changes in the mustache templates.
Also had to update the `netcoreapp2.0` test project to `netcoreapp3.1` for compatibility with RestSharp

* Switch HttpUtility to WebUtility for compatibility
2022-07-20 19:25:29 +08:00
Max K
d2294d2eca
Updated mustache templates, generator and docs (#12848) 2022-07-17 15:51:05 +08:00
AnaTofuZ
a9e63f4ce3
Perl: Type coercion for the JSON conversion part of Perl (#12891)
* Perl: separate date and DateTime

- Since the json values to be returned are different for date and DateTime, they are managed separately

* Per: Enforcing Perl types to openAPI types

Perl JSON values return different types depending on the context, so look at openapi's type and modify the type.

* generate samples

* generate docs

* add perl test (json types)
2022-07-16 22:18:51 +08:00
thrykol
a1892b1636
feat(rust): allow more granular Rust integer types and cleaned up clippy warnings (#12479)
* feat(rust): support various Rust integer types (#2)

* fix: Use ROOT locale

* fix: unsigned int bounds were incorrect

* fix: deal with potential null value
2022-07-09 20:37:16 +08:00
Tom Bärwinkel
728c80abea
Add option to use custom a monad (#12618) 2022-07-07 01:13:06 +08:00
Lazar Prijović
5658397152
[BUG] [CPP-UE4] Fix unique items list codegen (#12745)
* Fix unique items list codegen for UE4

* Update generator's doc
2022-07-03 17:17:48 +08:00
anttikarhu
05ae49698f
Idea plugin for marking source directories, and omitting gradle wrapper (#12711)
* Idea plugin for marking source directories, and omitting gradle wrapper for creating sub projects

* Register the omitGradleWrapper option

* Added missing idea option
2022-06-28 16:06:10 +01:00
Daniel Renninghoff
c1b8780fff
[cpp-qt-client] Replace AnyType with QJsonValue (#12642) 2022-06-25 09:40:28 +08:00
William Cheng
7d768f2535
[R] add error object type support (#12402)
* use rlang as exception in the petstore test

* add errorObject support

* fix method name, use ModelApiRespeonse

* update samples

* update doc

* fix api exception
2022-06-23 13:45:05 +08:00
Danni Stjernegård
b1ea0f3af3
[swift5] Make it possible to opt out of JSONEncodable conformance (#12664)
* Make it possible to opt out of JSONEncodable conformance

JSONEncodable is not a native type and does not exist if only models are generated.

* Match file indentation level
2022-06-22 17:22:14 +01:00
William Cheng
c2595335c3
[java] Add useSingleRequestParameter support (#12580)
* add useSingleRequestParameter support to java client

* trigger build failure

* trigger build failure

* Revert "trigger build failure"

This reverts commit 545e57ab8f3d943d9ad6ad114841a37d3b01a47b.

* Revert "trigger build failure"

This reverts commit 849f71f1f1a28659b0fd375986d7e66e9c6d04ac.

* update doc
2022-06-12 17:23:42 +08:00
William Cheng
8f3dd48772 update samples, docs 2022-06-06 12:20:21 +08:00
Vladimir Danilov
051ed53ed0
Update spring generator documentation (#12298)
Clarify inverted skipDefaultInterface configuration description
2022-06-06 12:10:51 +08:00
cachescrubber
71ea659195
[Java/Spring] Support Spring Boot 3 and Jakarta EE 9 (#12407)
* Migrate annotation.Generated

* Upgrade jakarta.servlet and jakarta.validation

* Prepare pom.xml for spring boot 3

* Introduce spring-boot-3 sample config.

* Create spring-boot-3 sample.

* Introduce useSpringBoot3 cli option.

* Generate Docs

* Add spring milestone repo

* Generate Samples

* Adjust Unit Tests

* Add Spring Boot 3 Support to spring-cloud library

* generate spring cloud 3 sample

* Remove springfox

* Fix typo.

* No longer support SpringFox and Swagger1 with Spring Boot > 3.x

* Generate Docs

* Use Spring Boot 3.0.0-M3

* Generate Samples
2022-05-27 00:07:19 +08:00
Tom Bärwinkel
54dca39459
Add authentication for haskell-servant (#12470)
* Add authentication for haskell-servant

* Add BearerToken to HaskellServantCodegen.java
2022-05-26 23:44:13 +08:00
Andriy Dmytruk
0ad970f4cf
[Micronaut] Improvements for Server and Client (#12297)
* Add the applicationName parameter to support generation of multiple clients

* Change indentation in application.yml to double-space

* Update swagger annotations version, and option to choose not to generate the annotations

* Generate operations only in the first defined tag class for micronaut server

* Improve micronaut client options by setting the correct default values in the JavaMicronautAbstractCodegen constructor

* Fix visitor pattern having abstract method in non-abstract class. Update samples

* Update server sample FILES

* Minor refactor

* Fix for context path
2022-05-19 02:03:45 +08:00
William Cheng
3597621fbc
[R] Use snake_case in method parameter names (#12390)
* use snake_case in method parameter names

* update doc
2022-05-19 01:23:27 +08:00
Auke Schrijnen
a57509695a
[java-micronaut] Return HTTP 501 in default implementation (#12365)
The default controller implementation returns an empty response. This
might result in unexpected behavior when an operation isn't implemented,
as a consumer of the API there is no way to notice the difference
between an unimplemented method and an actual empty response.

By changing the default behavior to return HTTP 501 Not Implemented the
user will be made aware of unimplemented methods. The former default
behavior, returning an empty response by default, can be activated with
a configuration option.
2022-05-18 14:17:22 +08:00
Nick Dunne
d38cb1b37a
[java][spring] added springdoc support for service metadata and security (#12346)
* added springdoc config file to codegen

* added mustache template for springdoc config

* changed type to all caps so it can be used in the template

* added security scheme details
caveat: didn't add oauth2 flows

* removed url not supported by codegensecurity

* Fixed default doc provider in help message

* refactored config file generation test
and added springdoc test

* removed default codegen modification
implemented through booleans in template instead

* added new/updated generator files

* fixed escaping of description

* fixed appDescription in template
removed if and fixed escaping

* updated generated files again

* updated to springdoc in generator docs
2022-05-18 11:20:54 +08:00
Eugene Aleinikov
1cca865a69
Move Feign Client url parameter under condition. (#12250) 2022-05-07 00:10:52 +08:00
William Cheng
b02fd28ba6 update doc 2022-05-05 01:11:35 +08:00
Sergey Vladimirov
6bd7036ff8
[kotlin-client] Add ktor library with Jackson and GSON processing support (#11838) 2022-05-05 00:50:45 +08:00
Peter Leibiger
89d17e2845
[dart] Rename dart-dio-next to dart-dio and make it stable (#12258) 2022-04-30 16:43:11 +08:00
Michael Marner
e6be5543dd
[Dart-Dio-Next]#9082 Add json_serializable serialization option (#9980)
* PoC json_serializable in dart-dio-next

* Move build.yaml template into json_serializable dir

* Undo implicit-dynamic change

* Fix automatic formatting

* Treat non-required fields as nullable

* Make class properties final

* Fix error introduced by merging in master

* Fix map creation when deserializing

* Exclude built files from analysis

* Add new dio import props

* Fix broken merge

* Fix configuration of nullable properties

* Only add api_util import if using built value

* Add config param to set properties as final

* Fix syntax error due to merge

* Update to simplified dio configuration

* Add missing api constructor template

* Fix import for multipart files

* Fix inclusion of library deserialize template

* Update docs

* Remove trailing newline from class

* Fix whitespace in generated templates

* FIx built value generation problem caused by merge conflicts

* Escape dollar signs in strings

* Handle enums

* Config for json_serializable sample

* Generate sample for json_serializable

* Revert "Escape dollar signs in strings"

This reverts commit 6e2a3aeea0450518433f2a07fe7cda92272b18a5.

* Use raw strings when dealing with enum values

* Add json_serializable Maven module ind fix number based enums

* regenerate all tests

* Update docs and fix wrong maven module

* add a beta hint to json_serializable option

* Update minimum dart sdk with json serializable

* Use dart 2.14 when testing Dart samples

* Update codegen to remove analysis errors in output

Co-authored-by: Peter Leibiger <kuhnroyal@gmail.com>
2022-04-27 16:12:22 +08:00
Johan Sjöblom
356732d1bd
[kotlin-spring] Adding DocumentationProvider and SwaggerUI (#12184)
* Adding DocumentationProvider and SwaggerUI to Kotlin Spring

* Fixing annotation errors

* Fixes to homeController

* Minor stylistic fixes

* Removing parameter from docs

* Structuring pom, making gradle file similar to pom

* Updating samples
2022-04-27 01:03:32 +08:00