Compare commits

...

268 Commits

Author SHA1 Message Date
richard.bak de7037fd7c init 2025-05-02 16:42:30 +00:00
William Cheng 4b805ff6b7 v7.13.0 release (#21157) 2025-04-27 21:02:20 +08:00
Mattias Sehlstedt 10fc9d07c7 Single request parameter equals and hashcode (#20833)
* Align indentation

* Add equals and hashcode to singleRequestParameter static class

* Add missing sample updates that were affected by new imports

* add restclient sample

* update FILES, chmod=+x

* Update samples with jakarta annotations

* Updates samples

---------

Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>
2025-04-27 16:46:01 +08:00
Renuka Fernando 858d5fd8b7 Set appropriate statusCode from examples (#19501)
Issue: OpenAPITools/openapi-generator#19446
2025-04-27 15:18:28 +08:00
Lucas Reeh f656afcde3 Add original enumPropertyNamingType config for java enum generation (#20824) 2025-04-27 15:00:51 +08:00
roseatromero de310f6ee1 Fix associative container on json values (#20606) 2025-04-27 00:17:52 +08:00
William Cheng 1850c07951 update samples 2025-04-27 00:16:39 +08:00
martin-mfg 9f3a73f81a [spring]addition: api response examples + spring generator generates response examples (#17610, #16051) (#20933)
* addition: api response examples; spring's api.mustache generates response examples

* update samples

* added 2 sample configs; adsjuted to only generate examples for application/json

* added test

* remove accidentally added files

* small cleanup

* add new samples to workflow

---------

Co-authored-by: GlobeDaBoarder <glebivashyn@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-04-27 00:10:09 +08:00
Ross Sullivan 35ba0414fb [rust] Fix for allOf multi model with only metadata fields (#20892)
* Fix for allof multi model with only metadata fields

* Update samples

* fixed compiler errors in java 17 and lower

* refactored isMetadataOnlySchema to ModelUtils.java
2025-04-26 23:44:56 +08:00
Mattias Sehlstedt 1eee6038df Fixes so that a oneOf schema with a single sub-schema is simplified (#21043)
* Fixes so that a oneOf schema with a single sub-schema is simplified when SIMPLIFY_ONEOF_ANYOF is set to true

* Adjusts oneOf_array test to ensure that it is generated as an interface instead of being simplified

* Update ruby samples so that they no longer refer to a model that is now gone due to the schema being simplified
2025-04-26 22:53:21 +08:00
David Riddervold Marconis 02204d0e4b fix: [csharp] JsonConverter anyof (#21137) 2025-04-26 22:21:02 +08:00
paul-kraftlauget bbc0b4a79f [kotlin-client][jvm-spring-restclient] Fix metrics URI templating for RestClient (#21149)
Spring configures uriTemplate attribute and not generated code
2025-04-26 22:20:16 +08:00
paul-kraftlauget f9549479c9 [kotlin-client][jvm-spring-webclient] Fix metrics URI templating for WebClient (#21148)
Spring configures uriTemplate attribute and not generated code
2025-04-26 22:19:39 +08:00
Bruno Coelho e3db6a6257 [swift][client] update migration docs (#21151) 2025-04-26 22:14:37 +08:00
Ross Sullivan 1c62f839c5 Fixed Rust model files not matching module imports causing compiler errors (#21134)
* fix(rust): Fixed Rust model files not matching module imports causing compiler errors

* chore(rust): Update samples with a duplicate model test

* update samples

---------

Co-authored-by: Ross Sullivan <rosssullivan101@gmail.com>
2025-04-26 22:03:28 +08:00
William Cheng 178f1c9641 update maven plugin dependency versions (#21153) 2025-04-26 22:00:03 +08:00
Bruno Coelho f950ac97e8 [swift][client] make QueryStringEncodable return any Sendable (#21142)
* [swift][client] make QueryStringEncodable return any Sendable

* [swift][client] rename QueryStringEncodable to ParameterConvertible

* [swift][client] update migration docs

* Revert "[swift][client] update migration docs"

This reverts commit 00a490536d.

* [swift][client] rename QueryStringEncodable to ParameterConvertible
2025-04-25 14:40:58 +01:00
William Cheng 44c342bddd fix travis test build failure 2025-04-25 18:11:02 +08:00
William Cheng 35b94dff7a [csharp] fix "Simplify 'default' expression (IDE0034)" messages (#21147)
* [csharp] reduce IDE0034 messages in generated code

* [csharp] regenerate all samples

---------

Co-authored-by: Fabian Buchenberger <37747351+ffabss@users.noreply.github.com>
2025-04-25 18:01:14 +08:00
xtroce 6ee94d636b issue-20718 fixed code generation for jersey2/3 and okhttp-gson when using modelMapping with a package and anyOf/oneOf (#20721)
Co-authored-by: Sebastian Droeppelmann <sebastian@d-liver.solutions>
2025-04-25 17:13:36 +08:00
Paul Horton bdb063f170 fix: Support PathParams not of primitive types for Go in generated tests (#21107)
* fix: Support PathParams not of primitive types for Go in generated tests

Signed-off-by: Paul Horton <phorton@sonatype.com>

* use tabs consistently

---------

Signed-off-by: Paul Horton <phorton@sonatype.com>
2025-04-25 17:09:11 +08:00
ふぁ 5a9f973e91 [dart-dio] Fix the version of the sample dependencies (#20797)
* [dart-dio] Fix the version of the sample dependencies

* update

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-04-25 17:06:29 +08:00
saulgillEST c14c7a0421 Enhancement: Allow MergedSpecBuilder title, version and description to be configured #20822 (#20839) 2025-04-25 16:44:41 +08:00
Michael Düsterhus 27a705efd5 [fix][java]Add missing generated annotation to Authentication.mustache (#21125)
* Add generated annotation to Authentication.mustache

* Update Authentication.mustache jersey2

* Update Authentication.mustache jersey3

* Update Authentication.mustache okhttp

* Update Authentication.mustache restclient

* Update Authentication.mustache resttemplate

* Update Authentication.mustache vertx

* Update Authentication.mustache webclient

* doc: regenerate samples
2025-04-25 16:35:51 +08:00
Julian Kalinowski f9dedd74ec [kotlin] [multiplatform] [jvm-ktor] Fix formdata file upload (#21056)
* fix: kotlin multiplatform form-data file upload

* generate samples

* fix form data binary for jvm-ktor
2025-04-25 16:30:25 +08:00
Enrique Fernández be77442bff feat: support bearer authentication (#21110) 2025-04-25 16:17:32 +08:00
William Cheng 3fa806006b [python-fastapi] update h11, httpx to newer versions (#21145)
* update h11 to newer versions

* update httpx to newer version
2025-04-25 16:14:26 +08:00
Enrique Fernández 0462bed734 fix: wrong typespec generation for all-of with single ref (#21139) 2025-04-25 16:06:06 +08:00
Łukasz Suski d02c0f493e [Kotlin] [Retrofit2] [Coroutines] [Client] Option to remove Response<> wrapper in operation return types (#20613)
* Add useResponseAsReturnType option to kotlin, jvm-retrofit2 and coroutines api template (#15491)

* Add useResponseAsReturnType flag to kotlin-jvm-retrofit2-coroutines.yaml sample

* Generate sample
2025-04-25 08:45:47 +01:00
jase dfbe985db3 fix(typescript-angular): enable "exactOptionalPropertyTypes" and ensure assignments align with type definition (#20451)
* fix(typescript-angular): enable "exactOptionalPropertyTypes" and ensure assignments align with type definition

* fix(typescript-angular): update condition checks to explicitly compare with undefined

* chore(gradle): add autogenerated properties file for OpenAPI Generator
2025-04-23 14:08:21 +02:00
CG a7159f6bcb [BUG][kotlin-spring] Fix defaultValue for RequestHeader is not generated (#20504) (#21003)
* [BUG][kotlin-spring] Fix defaultValue for RequestHeader is not generated (#20504)

* revert apiDelegate changes

* fix: fix unresolved reference for enum type
2025-04-23 17:25:47 +08:00
William Cheng 3b6b55144d fix gradle.properties in java client (#21129) 2025-04-23 17:05:04 +08:00
Kai-Uwe Hüber 28daa68943 Check if enum_values exists in the serverUrl [csharp] (#21122)
* check if enum_values are existing

If no enum_values are given for in a serverUrl, the check must be ignored.

* update samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-04-23 16:26:41 +08:00
Ronan Pozzi d589f5db11 [java][native]Delete unused gradle.properties template in native library (#21128)
The gradle.properties.mustache template was empty. Removing this override allow to specify gradleProperties while using native library

Co-authored-by: Ronan Pozzi <ronan-pozzi@asys.fr>
2025-04-23 16:23:35 +08:00
Ross Sullivan caf22add95 [rust] Fixed nullable byte arrays (#20720)
* [rust] fixed nullable byte arrays

* Updated tests and samples

* updated type test

* Added double option support

* updated samples
2025-04-23 16:13:53 +08:00
jheyens e767496357 Jersey2: Move setting of authentication parameters before generating target URL to consider API keys in URL parameters (#20688)
* Move setting of authentication parameters before generating target URL to consider API keys in URL parameters

* Regenerate Jersey2/3 examples
2025-04-23 16:04:26 +08:00
João Brilhante d2e20253e4 [java][restclient] Fix model combining properties and additional properties (#20947) 2025-04-23 15:57:57 +08:00
Henrik Gerdes abce11152e fix(fastapi): use correct impl & package name with custom values (#20970)
Signed-off-by: Henrik Gerdes <hegerdes@outlook.de>
2025-04-23 15:57:21 +08:00
30p87 ee7927a525 [Java][Spring] remove 'size', 'page' and 'sort' query params if using 'x-spring-paginated' (#8315) (#21016)
* [Java][Spring] remove 'size', 'page' and 'sort' query params if using 'x-spring-paginated' (#8315)

* Properly implement samples, fixing build issues

---------

Co-authored-by: Tobias Fischer <t.fischer@goldflam.de>
2025-04-23 15:47:17 +08:00
PidgeyBE 72de5bc952 [Python] Fix the post processing of string enums (#20976)
* fix/ x-enum-varnames in python

* make x-enum-varnames examples more clear

* make x enum varname usage more explicit

* fix tests

* trigger tests

* trigger tests once again...

* fix more tests
2025-04-23 15:45:44 +08:00
Simon Podlipsky d4d14204e8 fix(php-nextgen): always return if not void (#21119) 2025-04-23 15:40:57 +08:00
jheyens a66dd20783 Jersey2: Do not reinitialize ClientConfig with default values when building HTTP Client (#20687)
* Do not reinitialize ClientConfig with default values when building HTTP Client

* Regenerate Jersey2/3 examples
2025-04-23 15:24:22 +08:00
Juan Treminio 346231083f [PHP] - Add FormDataProcessor to handle nested ModelInterface data (#20990)
* [PHP] - Add FormDataProcessor to handle nested ModelInterface data

* Generating samples

* Updates php-nextgen and psr-18

* Adds tests

* Some more tests

* One last test

* Updating files

* Fixing diff

* Test fix

* Updating samples
2025-04-23 15:16:47 +08:00
Kevin Lin b844d8d4cd [Java] ApiClient: support deserializing from InputStream instead of String to bypass 2GB Java String limit (#21115)
* ApiClient: support deserializing JSON from InputStream instead of String to bypass 2GB Java String limit

* Update test_file_list.yaml
2025-04-23 14:59:02 +08:00
Antoine Reilles 338f7f2a09 cxf file upload should only present Attachment (#21124)
The InputStream is not necessary, as it can be obtained from the
Attachment object via getInputStream().
2025-04-23 14:53:42 +08:00
Jenny G. L. 80ab53b2ce [scala][client]: scala-http4s scala3 client: minor improvement (allow empty string in optional enum to pass as None) (#21025)
* [scala][http4s][client]: add enum method; remove implicit

* improve error handling

* more enum enhancement

* remove unused

* update samle

* avoid breaking change

* [Scala][Client][HTTP4s]: when enum is optional, avoid throwing exception when it's empty string

---------

Co-authored-by: Jenny Leahy <jennyleahy@JENNYLEAHY.localdomain>
Co-authored-by: Jenny Leahy <jennyleahy@Mac.localdomain>
2025-04-23 14:21:33 +08:00
Enrique Fernández 3233eff187 [fix][elixir] faulty free-form object type spec (#21113)
* fix: faulty free-form object type spec

* add implicit free-form object example
2025-04-23 14:17:10 +08:00
Bruno Coelho 64d9719d39 [swift6][client] All models conform to Codable so this method should not be needed anymore (#21117)
* [swift6][client] All models conform to Codable so this method should not be needed anymore

* [swift6][client] All models conform to Codable so this method should not be needed anymore
2025-04-22 11:58:53 +01:00
Bruno Coelho 7f64d906a5 [swift6][client] Make it possible to opt out of JSONEncodable conformance (#21116) 2025-04-22 10:47:00 +01:00
Enrique Fernández 2fb59ff258 doc: remove references to petstore (#21111) 2025-04-21 15:42:09 +08:00
RickyRister 4c08ff865d [Java][Vertx] Add option to generate methods that return Futures (#21083)
* [Java][Vertx] Add option to generate methods that return Futures

* run scripts

* update sample config and github workflow

* generate samples

* rerun script

* add vertx-no-nullable to samples workflow
2025-04-18 21:53:08 +08:00
Moritz Weber c67b1132ec [typescript-angular] add license information for BaseService (#21104)
The new BaseService was added in #20681, but the license information was not added.
2025-04-17 16:39:23 +02:00
Sri Sushma Karra f9f5af5ed9 [JAVA][FEIGN] Removing hardcoded HTTP Client which is causing performance issues (#21085)
* [JAVA][FEIGN] Removing hardcoded HTTP Client

Fixing performance issues

* Updating samples for Java Feign performance betterment changes

* added APIClient.java for feign-hc5
2025-04-17 17:13:07 +08:00
Andrew Wilson 5e446b4147 [feat] [protobuf] Improve protobuf generator by adding custom options for api and model files (#21075)
* add custom options

* fixing docs

* typo
2025-04-17 13:11:34 +08:00
lucy66hw b4378a6277 [Protobuf Schema] Map Field Handling in Composed Schemas (#21002)
* Address map under composed schema

Add explanation to code block

* add comment to explain the code block
2025-04-16 16:33:22 +08:00
Andrew Wilson 1136872cd5 [feat] [protobuf] Improve protobuf generator with switch useSimplifiedEnumNames (#21052)
* improving with simple enum names

* adding test case

* fixing docs

* fixing param name

* fix docs
2025-04-16 16:32:36 +08:00
devhl-labs ffefebdd88 [csharp] Process webhook operations (#21082)
* process webhook operations

* process webhook operations

* build samples
2025-04-16 16:30:53 +08:00
NavruzshoevDaniel 7a57b80955 [BUG][Kotlin][WebClient] ApiClient is not compatible with spring-web 6 Observation API (#21020) 2025-04-16 15:25:22 +08:00
Gregory Merlet a94b8f90ca Fix typescript-fetch broken files when mixing basic types and refs in oneOf (#21057)
* feat: add test-array endpoint and TestArrayResponse schema to oneOf.yaml

* feat: enhance oneOf handling in TypeScript code generators with string and array support

* fix: correct type checks for string and object arrays in modelOneOf.mustache

* refactor: remove oneOfStringEnums handling and simplify oneOf logic in TypeScript code generators

* chore: update samples

* refactor: remove unnecessary string oneOf checks in TypeScriptFetchClientCodegen
2025-04-14 14:14:25 +02:00
Richard Jacks 79b1cc5d5e Update jQuery.min.js from 1.8.3 to 3.7.1 (#20977) 2025-04-13 23:06:00 +08:00
Beppe Catanese c22d790249 [POSTMAN] Include response examples (#21073)
* Extract response examples

* Add response examples to spec

* Generate Postman samples

* Test samples
2025-04-13 22:22:27 +08:00
devhl-labs ca1f02500f fixed subpath bug (#21081) 2025-04-13 18:50:26 +08:00
takashno dcb8b1a2dc modify enum template. field should be final. add testcase & sample updates. (#21019) 2025-04-13 18:49:15 +08:00
jpfinne 4fc46cb0d4 Make the OpenAPINormalizer extensible (#20995)
* Make the OpenAPINormalizer configurable
Add comment to force rebuild

* Add documentation of NORMALIZER_CLASS

* Use default normalizeSchema() method and add a new skipNormalization method

* super.normalizedSchema() can proceed
2025-04-11 19:19:56 +08:00
Tanmay Mohapatra b1de687c7f [julia] better serverside validation code (#21072)
* [julia] better serverside validation code

Updating the code generated for julia server to add more checks in the validation stage of incoming requests. Particularly adds checks for request body and required parameters. Updates the generated models with some helper methods that are used in validation filter.

* bump OpenAPI.jl version to use for CI
2025-04-11 02:00:29 +08:00
William Cheng 6da343a8ad update samples 2025-04-09 17:53:11 +08:00
Knuf 9c5722b9f6 Added HttpClient5 flavour to Java OpenFeign client generator. (#21007)
* Added HttpClient5 flavour to Java OpenFeign client generator.

* Converted templates intendation to spaces.

* Added the new sample folder to GH wf so that the CI can test the change.

* Added the missing auto-generated docs/samples files.

* Converted indentation to spaces also in the modified Java class.
2025-04-09 17:40:16 +08:00
William Cheng 86a8e52d08 Add tests for scala sttp client (jsonLibrary: circe) (#21061)
* add tests for scala sttp circe

* use jdk 11

* test with jdk 17

* fix

* test in circleci

* remove finch
2025-04-09 17:19:06 +08:00
Jorge Rodríguez Martín 89f0f7556f [Java][Spring] Ensure EnumConverterConfiguration.java is generated when interfaceOnly=true in Spring Generator (#21000)
* Ensure EnumConverterConfiguration.java is generated when interfaceOnly=true in Spring Generator

* Add samples
2025-04-09 17:10:39 +08:00
Julian Kalinowski bf67367fa1 fix: kotlin multiplatform form-data enum params (#21053) 2025-04-09 09:15:28 +01:00
Basil Mironenko 4048942485 [BUG] [scala-sttp] [circe] Generate circe encoder and decoder for inline enumeration (#21028)
* Generate circe encoder and decoder for inline enumeration

* Add missing circe-generic dependency, and the corresponding circeVersion property.

---------

Co-authored-by: Basil Mironenko <basilm@mosaicpower.com>
2025-04-09 16:02:34 +08:00
Nicolas Rodriguez 6bf528950f [crystal-lang] Various fixes for Crystal client (#21045)
* fix(crystal): allow users to YAML.dump(model) to ease debug

* fix(crystal): make optional parameters truly optional

* fix(crystal): don't send query parameters when parameter is nil

* fix(crystal): implement cookie Auth

* fix(crystal): fix ameba warnings

* fix(crystal): update sample app specs
2025-04-09 15:04:00 +08:00
Enrique Fernández dcd9463e88 [feat][elixir] use elixir 1.18 built-in json module (#21039)
* feat: replace jason by built-in json encoder/decoder

* chore: update samples
2025-04-08 12:47:37 +02:00
Curd Becker 7a3ea2872a Fix single quote escaping for python code generator (and its test) (#21021)
Hard to spot, but in Java the strings "'" and "\'" are identical, so
the implementation and its test were broken identically.
2025-04-08 01:10:09 +08:00
david-aeqium 63afd455f7 Fixes mapValues runtime inefficiency in typescript-fetch (#21047)
* fixes mapValues runtime inefficiency in typescript-fetch

* adds regenerated typescript-fetch samples
2025-04-07 10:02:59 +02:00
Tobias 047ceeaa45 Add unity 2019 support and update samples (#21036) 2025-04-07 01:02:14 +08:00
Juan Treminio 6b13ad522f [PHP] - Add range HTTP code support (#20992)
* [PHP] - Add range HTTP code support

* Adding response body to 200

* Fix diff; update php-nextgen sample

* Working on unit tests

* Removes dangling files

* Finalize tests

* Remove dangling files

* Add tests for no response body exception
2025-04-07 00:50:58 +08:00
Gijs Blanken 5f41acfe79 add #report when handling exceptions in the api (#21023) 2025-04-07 00:46:33 +08:00
Aran Donohue b2abf36af6 feat: [Rust][client] Add option to use rustls for reqwest instead of openssl (#21001)
* feat: [Rust][client] Add option to use rustls for reqwest instead of openssl

* generated changes

Summary:

  ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
  ./bin/utils/export_docs_generators.sh || exit
2025-04-07 00:42:23 +08:00
Andrew Wilson 9bac31859c Improving Misk Kotlin Server Generator (#20973)
* first pass

* fixing types

* fixing action

* updating samples

* updating files

* adding guido

* fixing misk

* removing old files

* cleaning generated files

* cleaning generated files

* adding back in license
2025-04-04 15:37:49 +08:00
William Cheng 04169ec29b update crystal samples 2025-04-03 01:39:13 +08:00
Nicolas Rodriguez c4a6c4a542 [crystal-lang] Various fixes for Crystal client (#21011)
* fix(crystal): fix typos in Crystal templates

* fix(crystal): various fixes for partial_oneof_module.mustache Crystal template

1. `class << self` doesn't exist in Crystal, you must prefix class methods with `self.`
2. use double quotes for String litterals (simple quotes are for Char litterals)
3. global `private` keyword doesn't exist in Crystal, you must prefix private methods with `private`
4. you must specify types when using `each_with_object({})`

* fix(crystal): add isKeyInCookie in Crystal configuration.mustache

* fix(crystal): wrap `rescue` in a `begin`

* fix(crystal): use Spectator shard to run tests (`described_class` is not available in Crystal std lib)

* fix(crystal): dry tests

* fix(crystal): enable some API tests, mark others as pending

* fix(crystal): update samples

* fix(crystal): update sample app specs

* fix(crystal): install development dependencies
2025-04-02 20:19:25 +08:00
Simone Dalcastagné c761f11a18 feat: avoid warning (#21012) 2025-04-02 10:29:13 +02:00
Tanmay Mohapatra 8375b96535 [julia] fix regex escape on server codegen (#21009)
* [julia] fix regex escape on server codegen

Fixed escaping of regex patterns on julialang server codegen.

* add comment for the escapeRegex method

* simplify
2025-04-02 13:50:30 +08:00
Bodo Graumann 8e329feb6a [typescript] Use static middleware when calltime options exist but specify no middleware (#20985)
* Keep static middleware when options contain no middleware field

* Regenerate samples

* Fix indentation and quotes

* Extract middleware merge logic into function

* Regenerate samples

* Simplify extracted functions

* Regenerate samples

* Fix: Pass static config when no options are given for inversify

* Fix: Allow overriding http api with options

* Regenerate samples

* Use default parameter for default middlware merge strategy

* Throw exception for failed match within switch block
2025-04-01 20:11:07 +02:00
Bodo Graumann 7881152dc8 [typescript] Avoid code duplication (#20978)
* Update test dependencies to make them run

* Use spaces instead of tabs

* Remove duplicate test

* Remove unused variable

* Add failing test for missing options

* Move config merge logic into shared function

* Regenerate samples

* Move option wrap logic into shared function

* Regenerate samples

* Inline wrapOptions call

* Regenerate samples

* Clean up code formatting

* Regenerate samples

* Separate mergeConfiguration definitions

* Regenerate samples

* Rename parameters

* Regenerate samples

* Add missing semicolon

* Revert inlining wrapOptions call

* Revert format changes in untouched lines
2025-04-01 13:13:54 +02:00
Ivan Vaskevych a8d56fd8ce Fixes the non-working query parameter when it's an Enum (#20210)
* Fixes the non-working query parameter when it's a Enum

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

Co-authored-by: Alexey Makhrov <amakhrov@gmail.com>

* Fixes the tags order

* Adds Echo API client tests for typescript: step 1

* Adds Echo API client tests for typescript: step 2

* Updates samples

* Fixes updated samples

* Fixes the fix

* Fixes the example config

---------

Co-authored-by: Alexey Makhrov <amakhrov@gmail.com>
2025-04-01 10:13:27 +02:00
William Cheng 587fcff85c update java samples 2025-04-01 15:05:12 +08:00
Tomschi 4f3726ecfd #11737 Add package to bean name in converter.mustache for EnumConverterConfiguration.java (#17738)
* Add package to bean name in converter.mustache for EnumConverterConfiguration.java.

* Fix samples for EnumConverterConfiguration.java.
2025-04-01 14:48:14 +08:00
Trent Clever-Nadeau 56dd63525c [Rust-Axum] Allow use of array query params (#20861)
* [Rust-Axum] Allow use of array query params

* Add sample per PR request
2025-04-01 14:29:21 +08:00
lucy66hw 3b0bb0a73d [Protobuf Schema] Add Support for Multiple Response (#20989)
* Protobuf Schema Support Multiple Response

* change the supportMultiple response to true

* address build failure

* address build failure
2025-03-31 15:31:07 +08:00
Greg Knox 36287acfd6 [JAVA][BUG] formParams.mustache should contain @FormParam, not @QueryParam (#20991) (#20993)
* formParams.mustache should contain @FormParam, not @QueryParam (#20991)

* updated samples; form parameters are declared using @FormParam, not @QueryParam (#20991)
2025-03-30 22:37:06 +08:00
Juan Treminio c6e2a5fa94 [PHP] - Removes trailing comma from ::flattenArray() (#20988)
* [PHP] - Removes trailing comma from ::flattenArray()

* Removes "mixed" type

* Missed one mixed
2025-03-30 01:08:52 +08:00
koenlavooij 5e5832d982 Javalin fixes and validation (#20981)
* Fix for problems when a nullable parameter has a default value

When a default value is present the parameter is moved to non-nullable. This works because we could replace the null with a default value. This will actually set the default value.

* Adds (optional) validation to the beans.

Option to set: `useBeanValidation` to `true`. This will insert validation rules from the `jakarta.validation` package much like it does with the spring generator.

Aso sneaked in `JsonProperty` annotations in order to more formally adhere to the name in the spec as opposed to configuring ObjectMappers in order to translate names to match the spec.

* Update samples

* Fix for required headerParams
2025-03-30 00:58:48 +08:00
hackerman 045a9c16b1 fix: support backwards compatible changes in discriminators (#20983)
Closes https://github.com/OpenAPITools/openapi-generator/issues/20982
2025-03-27 17:19:16 +01:00
Bruno Coelho 701b6bd576 [kotlin][client] make kotlinx serialization configurable (#20955)
* [kotlin][client] make kotlinx serialization configurable from outside

* [kotlin][client] make kotlinx serialization configurable from outside
2025-03-26 10:19:24 +00:00
Cameron Koegel 11c56117d2 [typescript-axios] Add Api and Model Docs (#20969)
* [typescript-axios] Add Api and Model Docs

* update templates for no `npmName`

* generate samples
2025-03-26 09:57:52 +01:00
William Cheng bd9d93db89 minor improvements to kotlin musk generators (#20968) 2025-03-25 23:17:02 +08:00
Nicolas Vervelle 8ca3543436 Issue 20804: Add java nullability annotations (#20806)
* issue-20804: Add nullability annotations to Java generated clients

Motivation:
Be able to use generated clients in code checked by tools like NullAway.

* issue-20804: Add nullability annotations to Java generated clients

Motivation:
Be able to use generated clients in code checked by tools like NullAway.

* issue-20804: Add nullability annotations to Java generated clients

Motivation:
Be able to use generated clients in code checked by tools like NullAway.
2025-03-25 23:01:17 +08:00
Andrew Wilson d81b5a37d1 #20883 - Add new Misk Kotlin OpenAPI Generator (#20885)
* first pass

* Fix extra new line

* adding generator file

* Run new.sh script

* Fix template directory and ignore failing tests

* fixing up content type

* adding controller impl

* cleanup interface

* typo

* removing bodytype

* adding protos

* fixing 2

* Fix headerParamsSimple

* removing protos etc.

* fixing imports

* removing commented code

* fixing imports

* fixing return

* fixing file

* adding comment

* remove adminapi

* move to jakarta

* reverting break

* fixing httpMethods

* pushing mediaTypes

* Adds gradle mustache templates

* Setup simple build.gradle.kts

* Adds basic model.mustache for model generation

* fixing summary

* fixing summary 2

* Removes unnecesssary line

* fixing return type

* fixing override

* fixing httpcall

* Delete proto folder creation

* fixing return type

* fixing void return type

* fixing space

* removing reactive

* removing imports

* Fixing spacing

* Fixing tabbing

* fixing headers

* add comment

* Adds unit tests

* cleanup

* Correct getHelp() description

* cleanup 2

* removiing pathParams files

* fixup

* fixup 3

* removing more files

* Adds GitHub Workflow generation

* removing form params as not required

* Adds tests for OptionsProvider

* Renamed file to match

* remove whitespace

* remove whitespace

* adding documentation

* adding documentation

* removing swagger annotations

* adding tests

* Adds Guice Module

* Grab OpenAPI title to generate module name

* Revert "Grab OpenAPI title to generate module name"

This reverts commit 9c9b935f5dbee6e0974ebf66b4f611f107df70c2.

* Update sample

* Removes moduleFileName additional property

* adding tests

* adding tests 2

* adding tests 3

* adding tests 4

* added media types

* re-adding tests

* fixing camelcase

* fixing mediatypes

* default mediatype

* adding validation

* adding validation

* removing swagger

* adding gradle dependency

* adding gradle dependency

* fixing types

* fixing return types

* fixing tests

* final fixes

* tweaks

* fixing file etc.

* Update samples/ folder

* fixing jakarta

* fixing jakarta 2

* fixing impl

* Fix unit tests

* fixing jakarta

* fixing jakarta 2

* final final final changes

* Fix initialization of BigDecimal for default values

* update samples, docs

* fixing RequestHeader

* fixing RequestHeader 2

* fixing RequestHeader 2

* add validateSpec=false

* fix pom version

---------

Co-authored-by: Guido Arnau <guido@squareup.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-03-25 22:43:30 +08:00
lucy66hw c8cfa16a48 Add options to aggregate protos to one file (#20962) 2025-03-25 22:35:48 +08:00
Daniel Schreiber 16552755bf feat(typescript-angular): update enum definitions to use 'as const' for improved type safety (#20958)
fixes #20809
2025-03-24 17:46:04 +01:00
Simon Podlipsky 07e5a674db fix: escape operationIds before outputting them (#14475) 2025-03-24 14:19:58 +01:00
DavidGrath 0becb3feb7 [typescript-fetch] to fix incorrect parsing with additional properties (#20923)
* Fix issue #20195

* Ran export_docs_generators.sh

* Generated path separators fixed

* Trigger Build
2025-03-24 14:18:53 +01:00
Calvin Bascom cd2fbd6ff4 Add support for normalizing bearerAuth (#20860)
The openapi 2.0 spec did not support bearer authentication but it was
added in openapi 3.0. In order to support client generation that
includes support for bearerAuth, this change adds a new feature to the
OpenapiNormalizer so that it can be configured to look for a specific
securityDefinition name and convert it to bearerAuth.
2025-03-24 19:39:40 +08:00
devhl-labs 550e31775d [csharp][generichost] Fixed subpath (#20896)
* fixed path

* reverted part of change
2025-03-24 15:47:07 +08:00
Simon Podlipsky 62b176e95d feat(php): drop support for EOLed PHP versions and unify min required version (#17826) 2025-03-24 13:59:01 +08:00
kenji yoshida 7d977b63dc Update scala version (#20953) 2025-03-24 13:55:46 +08:00
devhl-labs 34c6c583cc [csharp][generichost] Fixed string formatted as decimal (#20894)
* fixed string formatted as decimal

* build tests
2025-03-23 22:44:12 +08:00
William Cheng 8756ff7596 update samples 2025-03-23 21:50:11 +08:00
Jan van Rhijn 2ec6b53dfa Fix issue with nullable values not validated when value is null Bug: 20525 (#20549)
* Do not check for token type null

* Update docs

* Fix CS8957 Target-Typed Conditional Expression

* Update samples

* Fix compile errors

* Update docs

---------

Co-authored-by: Jan van Rhijn <jan.vanrhijn1@akzonobel.com>
2025-03-23 21:45:15 +08:00
Dimitar Tomov 08ec37cc10 [kotlin-spring] Generate @Valid annotation on all RequestParts/Params for Multipart requests when useBeanValidation=true (#20864)
* [kotlin-spring] Generate @Valid annotation on all RequestParts/Params for Multipart requests when useBeanValidation=true

* [kotlin-spring] Fix failing test

The test was failing because of the newly added @Valid and an assert which is not correct anymore.
2025-03-23 18:31:18 +08:00
Youri Westerman 73b6b7084f Drop python 3.8 support python 3.13 in python generator (#20909)
* Drop support for python 3.8 and add support for 3.13 in python generator templates

* Update docs

* Test samples without python 3.8 and with 3.13

* Generate samples
2025-03-23 18:10:32 +08:00
kenji yoshida c749919812 fix deprecated old sbt build file syntax (#20949) 2025-03-23 18:03:29 +08:00
kenji yoshida 866558f9e7 Update sbt version (#20948) 2025-03-23 13:13:30 +08:00
kenji yoshida 24d2083684 update scala-akka-http-server generator (#20924) 2025-03-22 16:53:03 +08:00
Pavel 868074212a [Java] Extend JavaSpring apiClient.mustache with option to override contextId for FeignClient (#20943) 2025-03-22 11:36:30 +08:00
lucy66hw f3999109cb protobuf import format (#20946) 2025-03-22 10:00:01 +08:00
martin-mfg f39675b41a cleanup (#20937) 2025-03-21 15:15:50 +08:00
Bruno Coelho 22b678764c [Swift][client] fix parameters encoding (#20934)
* [Swift][client] fix parameters encoding

* [Swift][client] fix parameters encoding
2025-03-20 12:29:58 +00:00
takashno 6e3b1996ed [java][spring] add useSpringBuiltInValidation option to disable @Validated at class level (fix #20899) (#20901)
* [java][spring] add useSpringBuiltInValidation option to disable @Validated at class level (fix #20899)

* Add sample and github workflow maintenance.
2025-03-20 17:41:02 +08:00
Juan Treminio a4072c5ea9 [PHP] Bring PSR-18 composer.json inline with main (#20897)
* [PHP] PSR-18 composer.json to use composerPackageName

* Bring PSR-18 composer.json inline with main
2025-03-20 17:39:50 +08:00
Mihály Verhás 20db1e1590 Fix src/main/resources/JavaSpring/pojo.mustache to generate @Deprecated annotation unrelated to description. (#20905)
Co-authored-by: Verhas Mihaly <mihaly.verhas@intuitech.studio>
2025-03-20 13:54:08 +08:00
lucy66hw 1996d7e8fc [protobuf-schema] Add flag to handle complex type (#20915)
* Wrap Complex Type

* update

* Add java doc and update test

* change default wrapComplexType to true

* add protobuf-schema-config-complex to CI

* add service proto to address CI failure
2025-03-20 13:22:40 +08:00
Enric Pou a2ee3a7cfc [dart-dio][timemachine] Bugfix: Ensure closing bracket when adding serializers (#20908)
* Ensure closing bracket when adding serializers

* Added samples
2025-03-20 01:30:51 +08:00
Juan Treminio 8f24df4165 [PHP] Fix converting objects to formdata (#20888)
* Output of CLI commands per PR comments

* Rebuilding PHP examples, PSR-18

* Rebuilding PHP examples

* Adds explanation for ::flatten_array(); optimized array_is_list pollyfill

* [PHP] Fix converting objects to formdata

* flatten_array -> flattenArray to match code style

* Adds unit test

* Revert "Output of CLI commands per PR comments"

This reverts commit 2eaa93731c.

* Includes php-nextgen; tightens up ::toFormValue()

* Missing ArrayAccess import

* Adds test for refactored ObjectSerializer::toFormValue()
2025-03-19 15:39:57 +08:00
William Cheng 8a8bacd0d5 udpate global setting tests (#20925) 2025-03-19 15:29:39 +08:00
dependabot[bot] 69e4336f67 Bump actions/setup-dotnet from 4.3.0 to 4.3.1 (#20916)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v4.3.0...v4.3.1)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 13:15:49 +08:00
Bruno Coelho 298d6c2200 [Swift][client] make alamofire version more flexible and build projects on CI before running unit tests (#20913)
* [Swift][client] CI first build the projects then run the unit tests

* [Swift][client] make alamofire version more flexible
2025-03-17 21:05:43 +00:00
Bruno Coelho 4c1257a2b6 [Swift][client] add identifier to each request (#20890)
* [Swift][client] add identifier to each request

* [Swift][client] add identifier to each request

* [Swift][client] CI first build the projects then run the unit tests
2025-03-17 21:05:21 +00:00
Lennard Sprong 31c1a86736 [swift6] Change JSONEncodable protocol to always return String (#20906)
* [swift6] Change JSONEncodable protocol to always return String

* [swift6] Upgrade Alamofire

* Add missing @Sendable attributes

* Fix APIHelperTests

* Fix URLSessionImplementations
2025-03-17 15:53:22 +00:00
Lennard Sprong 1eb8c58446 [swift6] Add typed throws to Validation functions (#20903) 2025-03-17 15:11:25 +00:00
Robinsstudio 02307dbf0c fix: #20826 Update urllib3 requirement for Python generator (#20845)
* fix: #20826 Update urllib3 requirement for Python generator

* Fix test to use localhost instead of petstore.swagger.io
2025-03-17 18:26:57 +08:00
cagliostro92 995c6c5a88 fix(openapi-generator): fixes GlobalSettings (#20744)
* fix(openapi-generator): fixes GlobalSettings class to avoid ClassCastException when GlobalSettings#log is invoked

* fix(openapi-generator): sets GlobalSettings log level to debug
2025-03-16 22:03:03 +08:00
Yobyn Roetz 191eba4afa replace all UriComponentsBuilder.fromHttpUrl() with UriComponentsBuilder.fromUriString() because UriComponentsBuilder.fromHttpUrl will be removed in the near future. (#20893) 2025-03-16 16:04:04 +08:00
Jarangutan b1f572e116 [go-server] move errMsg helpers to helpers file (#20876) 2025-03-15 21:27:56 +08:00
dependabot[bot] 1c1365513f Bump @babel/helpers from 7.20.13 to 7.26.10 in /website (#20867)
Bumps [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) from 7.20.13 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-helpers)

---
updated-dependencies:
- dependency-name: "@babel/helpers"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 23:26:24 +08:00
dependabot[bot] a3fb8f59f8 Bump dorny/test-reporter from 1 to 2 (#20862)
Bumps [dorny/test-reporter](https://github.com/dorny/test-reporter) from 1 to 2.
- [Release notes](https://github.com/dorny/test-reporter/releases)
- [Changelog](https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dorny/test-reporter/compare/v1...v2)

---
updated-dependencies:
- dependency-name: dorny/test-reporter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 18:47:34 +08:00
Pietro Bongiovanni 5c51ee49a2 [Rust Server] Bump up env_logger to 0.11 (#20865)
* Bump up env_logger to 0.11

* regenerate examples

* regenerate examples
2025-03-13 18:45:50 +08:00
William Cheng 3ab495a0aa Fix operationId mapping (#20846)
* fix operationId mapping

* add tests

* minor change
2025-03-12 20:28:18 +08:00
William Cheng e40f9e3801 update C# samples 2025-03-12 18:18:16 +08:00
Jacob Ilsø 7f40ce0dd8 Use interfaces for Polly retry policies (#20821)
This enables use of ResiliencePipelineBuilder which returns the
interface when calling AsSyncPolicy / AsAsyncPolicy
2025-03-12 16:49:03 +08:00
Josh Keighley 7d9e1ecc22 Bump feign version to 13.5 from 10.12. (#20849) 2025-03-12 16:35:36 +08:00
Daniel Schreiber 8ead4b6e3f [typescript-angular] fix: correctly serialize query params objects (#20850)
fixes #20799
2025-03-12 09:22:49 +01:00
William Cheng 0e34d39833 add tests, option for useVirtualHooks (csharp) (#20837) 2025-03-11 00:02:30 +08:00
mahmoud_ zeyada 21be5f5abc fix(typescript-nestjs): handle query params serialization properly (#20755)
* fix(typescript-nestjs): handle query params serialization properly

* fix(typescript-nestjs): updated the samples for param serialization fix
2025-03-10 16:07:21 +01:00
Jarangutan 4ad76cc86c [go-server] Moved helper code from router and updated logger for chi (#20823)
* [go-server] Moved helper code from router and updated logger

* [go-server] fixed imports for mux and chi

* [go-server] fix go-api-server sample test
2025-03-09 15:47:11 +08:00
Sam Ward e8ae249cad [csharp] Add useVirtualForHooks option (#20705) 2025-03-08 17:30:58 +08:00
Brian Ferri cde0f551fc [PHP-NEXTGEN] make allowable values enum getter static (#20820)
* [PHP-NEXTGEN] make allowable values enum getter static

* [PHP-NEXTGEN] make allowable values enum getter static
2025-03-08 16:39:48 +08:00
William Cheng 7f64246b20 use nim own petstore test spec (#20819) 2025-03-07 15:35:50 +08:00
lucy66hw b528e4a7a7 [protobuf-schema] Support oneOf and AnyOf (#20798)
* handle primitive oneof

handle anyof

* Add oneof and anyof test in petstore
2025-03-07 15:10:07 +08:00
martin-mfg 74e49ac1d2 use java.io.Serializable (#20815) 2025-03-07 00:17:06 +08:00
Daniel Schreiber ce0c0dcab0 [typescript-angular] fix: update basePath initialization to use template variable (#20816)
fixes #20760
2025-03-06 17:05:20 +01:00
David ba2e50519d improve documentation for RESOLVE_INLINE_ENUMS (#20812)
related to #20790
2025-03-06 18:28:45 +08:00
jpfinne ffa196e6a9 Add x-implements for java enums (#20778) 2025-03-06 01:59:55 +08:00
Tyler Mairose 36b72052e6 Add tag and method filters during generation (#20801)
* Add Filter by tag and method under OpenAPINormalizer

* Update message for invalid filters

* Update customization documentation with new filters

* Add comment for new code block
2025-03-06 01:49:47 +08:00
Julien Debon 123119c076 Add the dependencies in the generated Opam file (#20805) 2025-03-05 19:38:41 +08:00
William Cheng 890c758fd8 Add github workflow for OCaml samples (#20802)
* add github workflow for ocaml sample

* trigger build

* test with 5

* install dune

* install yojson

* install others

* install

* add name

* trigger build failure

* Revert "trigger build failure"

This reverts commit be35b26a83.

* test with 5

* pin versions
2025-03-05 18:07:44 +08:00
sabra f2bbb9e0a2 [java] generateClientAsBean for restclient and webclient (#20754)
* [java] generateClientAsBean for restclient and webclient

Added possibility to generate restclient and webclient as a @Component in the same fashion as resttemplate.

Fix #17885
Fix #19229

* - Samples
2025-03-05 17:50:24 +08:00
Jakob Warkotsch efc53f5d47 [JavaScript] Avoid undefined headers with skipDefaultUserAgent enabled (#20792)
Prior to this commit, a JS client generated with skipDefaultUserAgent
enabled results in a src/ApiClient.js file that doesn't define
this.defaultHeaders. This breaks because this.defaultHeaders is later
directly passed to a superagent request which expects an object and not
undefined.

Fixes #20791.
2025-03-05 17:36:07 +08:00
Julien Debon 0f13dfedb9 [OCaml] Fix default optional list (#20789)
* Cleanup the existing model template

* `{{^isContainer}}foobar{{/isContainer}}{{^isContainer}}` is equivalent to `{{^isContainer}}foobar`
* Add indentations to make it easier to read the template. The generated code is
uglier, but it is ok since users are encouraged to reformat anyway

* Add a default value for non-required lists

Closes https://github.com/OpenAPITools/openapi-generator/issues/20777
2025-03-05 01:41:21 +08:00
lucy66hw c96d3088c5 [protobuf-schema] Use snake_case for protobuf fields, UPPER_SNAKE_CASE for enums. (#20696)
* protobuf enum prefix use upper underscore

Add json name parameters and change parameter field name to snake case

* rerun generate-samples.sh

* Add CI test

* rebase master

---------

Co-authored-by: xil <xil@uber.com>
2025-03-04 17:18:07 +08:00
Julien Debon 90de8dcd75 [OCaml] Add key to each model field (#20766)
* Add key to each model field

Add a `[@key "someField"]` annotation to each model field, to avoid mismatches when the JSON field is not in snake_case.

Closes https://github.com/OpenAPITools/openapi-generator/issues/20765

* update ocaml samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-03-04 16:49:27 +08:00
martin-mfg a018c10c70 fix Maven plugin tests (#20782)
* fix maven test

* fix another maven test
2025-03-04 10:42:44 +08:00
Ron Reynolds 2cff152e2a adding Intellij style xml and applied to all java code (#20734)
* added intellij-codestyle.xml and sample of it being applied to some java code-gen classes

* code-format changes ONLY

* few more format changes since last merge with master

* applied code-style to all java one last time
2025-03-04 01:44:48 +08:00
William Cheng 3ad5303f99 update samples 2025-03-03 19:29:07 +08:00
martin-mfg 2b8d496c80 [#19921] Add RFC 3339 compatible Jackson module for java.time types, regenerate samples (#20700)
Co-authored-by: Christian Beikov <christian.beikov@gmail.com>
2025-03-03 17:42:18 +08:00
Ron Reynolds 5cef0803b8 Java client enhanced Configuration with ApiClient Supplier (#20738)
* enhanced Configuration.mustache (thread-safe, lazy-eval, plugable factory

* removed comment in Configuration.mustache

* fresh samples
2025-03-03 13:52:10 +08:00
sandwoodK e0b6b2bbc7 Fix nim code generation (#20752)
Same variable name declared multiple times in the same scope.
=> nim generated code does not compile.
2025-03-03 13:50:19 +08:00
Iurii Ignatko af536f6205 Finalize [this-escape] warnings fixes in apache-httpclient (#20774) 2025-03-03 13:01:08 +08:00
Han van Venrooij ecdd8b5442 Upgrade plexus-build-api (#20759) 2025-03-03 10:33:18 +08:00
Simone Dalcastagné 70df1170cc fix: authorization values in Java modules (#20644) 2025-03-02 23:39:37 +08:00
Ross Sullivan 85ab65c4ca Fixed allOf with only one model (#20716) 2025-03-02 23:33:00 +08:00
William Cheng a79aad8420 Prepare 7.13.0 (#20758)
* Revert "v7.12.0 release"

This reverts commit 073723cb4d.

* set version to v7.13.0-SNAPSHOT

* update samples

* update doc
2025-02-28 13:48:36 +08:00
William Cheng afc27ef4bc v7.12.0 release (#20757) 2025-02-28 12:12:26 +08:00
William Cheng 6e9a0559a8 [csharp] Set generichost as default (#20748)
* set generichost as default

* revert a java change

* comment out a java test

---------

Co-authored-by: devhl <shawnkanyer@gmail.com>
2025-02-27 18:06:27 +08:00
William Cheng 1c3eade94d [java][spring] Add option optionalAcceptNullable to accept null values (#20746)
* add option to rollback accept null values

* update doc

* update tests
2025-02-27 17:21:51 +08:00
David Gamero fc00a663e1 [typescript] middleware import file extension in api types (#20745)
* middleware import extension fix

* fix file extension

* remove laravel lib
2025-02-27 09:22:38 +01:00
David Gamero b3f11963c3 [typescript] add call-time middleware support (#20430)
* add call-time middleware

* update dependencies to run on current tsc

* exclude middleware from inversify

* update samples

* update service

* space

* inversify exclude

* braces

* import in objectparamapi

* add integration test for middleware

* switch to configuration options merge

* enable options on non inversify builds

* remove unused middlware export

* remove merge strategy from inversify

* gen samples

* remove old middlware imports

* tab to space

* separate promise and observable options

* gen samples

* use allmiddleware var across inversify

* generate encode samples again

* add middleware call-order tests for default typescript build

* type refactor

* add semicolons, default replace, let to const

---------

Co-authored-by: david <david@dmba.local>
2025-02-26 11:33:21 +01:00
Mattias Sehlstedt 60bae732d3 SingleRequestParameter setter parameter construction (#20679)
* Add so that the singleRequestParameter can be constructed one parameter at a time

* Replace the lombok EqualsAndHashcode with a mustache implementation

* Remove equals and hashcode from oneRequestParameter model

* Remove the final keyword from variables in the oneRequestParameter class
2025-02-26 17:27:30 +08:00
jeremytrips 275107e3f1 Updated BaseService and service arguments in the mustache files to fix #20732 (#20736)
* Updated BaseService property

* removed unused depencies

* Add test files
2025-02-26 10:18:13 +01:00
wandi34 fb7aa580bf [Java][RestClient] Enable access token refresh (#20733) 2025-02-26 17:05:50 +08:00
Elric Milon 481c69063d [Rust] Fix enum variant name generation (#20689)
* Regression test for enum Name generation in oneOf

where variants would end up having the same name.

* Fix enum variant name generation

Datatypes like `Vec<foo::bar::Baz>` would end up as `Baz` instead of `VecOfBaz`
2025-02-26 16:57:43 +08:00
Michael Munch 57b1c91d17 Added support for Cookie parameters (#20729)
Co-authored-by: Michael Munch <mmu@bankdata.dk>
2025-02-26 16:52:12 +08:00
Sergey Yelin c529b16600 Fix crash on escaped type in erlang-server handler (#20735) 2025-02-26 16:34:37 +08:00
Sergey Yelin 32573f7464 [erlang] erlang-server generator fixes (#20717)
* Improve perfomance for map updates

* Fix key authorization crash

* Update samples
2025-02-26 16:19:11 +08:00
abrevet-dev 8040e9aae9 Add openapi-normalizer rule to set tags to vendor extension (#20713) 2025-02-26 16:18:17 +08:00
Fabian Buchenberger 5581a2dd2c [csharp][generichost] fix syslib1045, use GeneratedRegex for .net7+ (#20695)
* [csharp][generichost] fix SYSLIB1045 for ClientUtils

 * make JsonRegex private

 * on net7 and above use GeneratedRegex for JsonRegex

 * remove unused SanitizeFilename-Method

* [csharp][generichost] regenerate samples
2025-02-26 16:07:43 +08:00
micolous 30787a16fb [Python] Add ca_cert_data parameter (#20697)
* Add `ca_cert_data` parameter to Python client.

This lets a client validate a server's CA certificate chain using a
variable/constant containing PEM (`str`) or DER (`bytes`) data, rather than
needing to reference a file on disk.

* python: Fix `ca_cert_data` on Python 3.8
2025-02-26 16:04:32 +08:00
Sander Jochems 5757def39b Implement GetActualInstanceValue method (#20663) 2025-02-26 15:54:41 +08:00
Maksim Kosolapov 09df01501a [kotlin][client] Explode query param properly (#20714) 2025-02-26 15:52:03 +08:00
Daniel Schreiber 5f92de4785 [typescript-angular] refactor service classes for reduced bundle sizes. (#20681)
This reduces bundle sizes of ESM bundles on the order of 20%.
2025-02-25 13:07:14 +01:00
moznion 9537a7fb46 [typescript] Prevent generating invalid enum code due to empty variable names (#20699)
* [typescript] Prevent generating invalid enum code due to empty variable names

After sanitizing all characters (e.g. multibyte characters), the enum variable name may become an empty string.
Since an empty string would cause a syntax error, this patch pads the pseudo variable name (`STRING`) to avoid that issue.

For example, given the following OpenAPI definition:

```yaml
openapi: "3.0.0"
info:
  title: Sample project
  version: '1.0'
  description: 'Sample API Check "API Key" '
  license:
    name: Apache 2.0
    url: 'https://www.apache.org/licenses/LICENSE-2.0'
paths: {}
components:
  schemas:
    Greeting:
      type: string
      enum:
        - 'こんにちは'
        - '你好'
        - '안녕하세요'
```

The current logic generates the following code for Greeting:

```typescript
export enum Greeting {
     = 'こんにちは',
    2 = '你好',
    3 = '안녕하세요'
}
```

This code is invalid. With this patch, the generated code becomes:

```typescript
export enum Greeting {
    STRING = 'こんにちは',
    STRING2 = '你好',
    STRING3 = '안녕하세요'
}
```

Signed-off-by: moznion <moznion@mail.moznion.net>

* Remove unnecessary imports

Signed-off-by: moznion <moznion@mail.moznion.net>

* Use new sanitizer for TypeScript symbol which takes wider variety characters for enum var name

Signed-off-by: moznion <moznion@mail.moznion.net>

---------

Signed-off-by: moznion <moznion@mail.moznion.net>
2025-02-25 12:58:27 +01:00
William Cheng a06a2b4c7b update samples 2025-02-23 20:55:18 +08:00
Gus Costa a56d032edf docs(nodejs-express-server): fix default port number in README (#20706)
Update README to correctly show 8080 as the default port instead of 3000.
This matches the actual server configuration in config.js where the
server listens on port 8080 by default.
2025-02-23 20:51:45 +08:00
William Cheng db6709fdb3 Update readme (#20712)
* update author list

* add links to blog posts

* update
2025-02-23 18:44:16 +08:00
Ross Sullivan 670e9d7099 [rust] Fixed discriminator causing duplicate enum variants (#20711)
* Fixed discriminator

* Added testcase and updated samples
2025-02-23 17:50:04 +08:00
Ruslan Khasanshin 79145dc633 [kotlin-spring] Adds 'suspend' modifier for reactive List endpoint with useFlowForArrayReturnType = false (#16130) (#20710) 2025-02-23 17:35:08 +08:00
William Cheng b80461373a update nodejs express server samples 2025-02-23 17:32:16 +08:00
Gus Costa 86a293e0b6 fix(nodejs-express-server): update express-openapi-validator to v4 (#20704)
Update express-openapi-validator from v3 to v4 to support Node.js versions >14.
This includes:
- Upgrade express-openapi-validator dependency in package.json
- Modify server startup code to accommodate v4 API changes
- Update controller implementation to handle breaking changes

The changes ensure compatibility with modern Node.js versions while maintaining
the generator's functionality.
2025-02-23 17:27:33 +08:00
William Cheng cea3c5ba09 update nodejs express server samples 2025-02-22 23:15:00 +08:00
Gus Costa f83b049fe6 fix(nodejs-express-server): remove unused axios dependency (#20707)
Remove axios from package.mustache as it's not used in the starter build.
This eliminates potential security vulnerabilities (ReDos & SSRF) from
the dependency tree without affecting functionality.
2025-02-22 23:10:46 +08:00
Ross Sullivan 28c7b9b956 [rust] fixed compiler errors for decimal types (#20708) 2025-02-22 22:58:26 +08:00
Sylvain Joubert 0ff8c46595 [Python] Fix mustache tag syntax in github worklow (#20701) 2025-02-21 17:43:17 +08:00
Ron Reynolds 13111077d4 Java client codegen cleanup (#20691)
* made Configuration.defaultApiClient volatile so that if it's changed the new value is immediately visible to all other threads

* made no-arg api ctor use Configuration.getDefaultApiClient() instead of creating new ApiClient every time

* replaced all use of URLEncoder.encode with ApiClient.urlEncode; just code cleanup; no functional changes

* disabled AbstractJavaCodegenTest.testGeneratedExampleValues as it fails, possibly due to timezone (Locale.ROOT) of local system

* replaced thread-unsafe SimpleDateFormat with DateTimeFormatter and re-enabled unit-test

* removed unused import

* ran the generate-sample scripts and generated a HUGE number of changes!

* some code cleanup and adding booleans to processOpts to remove lots of duplicate FOO.equals(getLibrary()) checks; also using isLibrary() wherever possible

* added missing import of Configuration to api.mustache (and, thus, all native samples)

* added missing import for ApiClient to anyof and oneof model mustaches

* rolled back formatting of cliOptions block (too many changes for a simple PR)

* use toLowerCase with locale

* reverted supportedLibraries reordering and format changes to reduce diff noise

* updated comment

* rolled back Slf4j change due to failing arch-unit test; also rolled back serialization-lib setting code due to unit-test failure (still a mystery)

* moved lib* booleans AFTER super.processOpts() the library can be changed (as shown by unit-test)
2025-02-20 18:16:40 +08:00
Christian Munier 73079c2ef6 Fix #20692 [typescript-angular] Support enumDescription / x-enum-descriptions (#20693)
* #20692 [typescript-angular] Added x-enum-descriptions to "composed-schemas" example.

* #20692 [typescript-angular] Respect x-enum-descriptions / enumDescription in modelEnum mustache template.

* #20692 [typescript-angular] Regenerated samples.
2025-02-20 11:04:00 +01:00
Erik VanderWerf 9374dbd030 Add option to skip merging spec files (#19396)
Introduced a new property `inputSpecRootDirectorySkipMerge` to conditionally skip the merging step of the specification files. Updated the logic to honor this new property, ensuring merging only occurs if it is explicitly not skipped. Enabled configuration via Gradle build file.
2025-02-19 17:28:03 +08:00
Jonathan Martens 890c37fd77 fix: display of markdown in notes section (#20534)
* fix: display of markdown in notes section

* update samples

* skip blank lines

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-02-19 17:15:29 +08:00
Dragos Vingarzan c2884b7b1a [BUG][Go-server] attempt to fix the controller-api mustache template for a nullable bodyParam (#20478)
* go-server: attempt  to fix the controller-api mustache template for a nullable bodyParam

* added to petstore an example to trigger the issue which this PR fixes
2025-02-19 17:09:32 +08:00
Alex cd7cdb1e24 Add option to generate a fully sealed model in the JavaSpring generator (#20503)
* Generated sealed interfaces for oneOf

* Add generated data

* Add also  modifier

* Allow sealed for everything

* Fully seal model

* Disable html escaping

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java

Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>

* Update docs

* Check all oneOf scenarios

* Fix failed scenario

* Fix comments

* Remove unused import

* Adapt pom.xml also

* Add comment and remove unused function

---------

Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>
2025-02-19 15:15:09 +08:00
Victoria Casasampere Fernandez d5866feb2d [Rust-Axum] Implement support for Basic and Bearer auth in Claims (#20584)
* Implement a custom error handler for unhandled or generic endpoint errors

* Pass in method, host and cookies to error handler

* Update axum to 0.8

* Make API methods take references instead of ownership

* Rebase error handler

* Rebase with updated error handler

* Update deps

* Fix capture group syntax

* Rebase rust-axum-error-handling

* Update docs

* Multipart is also part of the axum update

* Update samples

* Update docs
2025-02-19 14:48:28 +08:00
Ron Reynolds eb668b6a76 reuse Configuration.defaultApiClientin no-arg Api ctors and make ref volatile (fixes issue #20633) (#20635)
* made Configuration.defaultApiClient volatile so that if it's changed the new value is immediately visible to all other threads

* made no-arg api ctor use Configuration.getDefaultApiClient() instead of creating new ApiClient every time

* replaced all use of URLEncoder.encode with ApiClient.urlEncode; just code cleanup; no functional changes

* disabled AbstractJavaCodegenTest.testGeneratedExampleValues as it fails, possibly due to timezone (Locale.ROOT) of local system

* replaced thread-unsafe SimpleDateFormat with DateTimeFormatter and re-enabled unit-test

* removed unused import

* ran the generate-sample scripts and generated a HUGE number of changes!

* added missing import of Configuration to api.mustache (and, thus, all native samples)

* added missing import for ApiClient to anyof and oneof model mustaches
2025-02-19 14:47:55 +08:00
Yuji Hanamura c349270c7a [Ruby] Fix ruby client generator to generate setter methods with not null validation (#20672)
* fix: Fix ruby client generator to generate setter methods with not null validation

Not null validation was missing for required and non-nullable properties when
no other validation was present.

* fix: Fix an issue where the initialize method did not accept attributes defined in its parent class
2025-02-19 14:46:44 +08:00
William Cheng 61ae569149 update doc 2025-02-19 14:37:12 +08:00
lucy66hw 4883de51c1 enum zero index is UNSPECIFIED suffix (#20473)
Co-authored-by: xil <xil@uber.com>
2025-02-19 14:30:53 +08:00
Ross Sullivan 2722fdcdc8 [RUST] chore: Clean up Rust reqwest and model templates (#20674)
* Cleaned up rust-reqwest-trait api template

* Cleaned up rust-reqwest api template

* Cleaned up rust model template
2025-02-18 16:58:12 +08:00
William Cheng 8fb81ea554 update python samples 2025-02-18 16:51:17 +08:00
Joost Sijm 5687edcf02 [python] Encode list query parameters for python pydantic v1 client (#20614)
* Fix url escape quote in python pydantic v1 client

* Fix sample
2025-02-18 16:46:14 +08:00
Gijs Blanken 65df3c22b9 Rewrite the PHP Laravel generator (#20526)
* remove legacy laravel generator

* initial setup of my vision for the laravel generator

* update the php laravel samples

* update php laravel docs

* moved api validation into controller and handle edge cases presented by sample generation

* updated samples

* added php-laravel to github workflow php8 and removed php7 workflow as it only contained old laravel

* preemptive work to support union types as soon as php serde supports them

* updated samples

* update templates in accordance to samples output

* fix pipelines and update samples

* correct serde version

* fixed phpunit execution and updated samples

* added named routes

* remove

* readd samples

---------

Co-authored-by: gijs.blanken@futureof.finance <gijs.blanken@finly.nl>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-02-17 21:50:13 +08:00
Karsten Leonhardt c5863629c0 Bugfix #17149: Asciidoc generator sets not defined example values wrongly to the string value "null" instead of the expected not set value (#20670)
Co-authored-by: Karsten Leonhardt <karsten.leonhardt@commerzbank.com>
2025-02-17 21:18:37 +08:00
Carlos Chacin a6280d9b58 [java][client] fix: Add static modifier to inner class in Java when useSingleRequestParameter=true (#20590)
* fix: Add static modifier to inner class

* Apply suggestions from code review

Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>

* fix: Remove unintended whitespace

* fix: Add default=false for useSingleRequestParameter

---------

Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>
2025-02-17 20:02:01 +08:00
Ross Sullivan 4ba87ae0e7 [rust] Added support for text/plain to reqwest clients (#20643)
* [rust] Added support for text/plain to reqwest-trait client

* Updated samples

* [rust] Added support for text/plain to reqwest client

* Updated samples

* cleanup

* reduced compiler warnings

* fixed text/plain content with charset

* Only deserialize text/plain if the API produces it
2025-02-17 20:00:43 +08:00
Maxime Vincent 515c8827b2 Ruby fix typhoeus api client multiple call with file return type (#20615)
* [Ruby] fix Typhoeus api client multiple call with file return type

* update samples
2025-02-17 19:58:53 +08:00
Trent Nadeau c5fb60b5f2 [Rust-Axum] Fix rustfmt error due to ordering (#20653) 2025-02-17 19:55:20 +08:00
mohamuni 07b5c5fc70 Handle query param encoding issues in .net9 (#20651) 2025-02-17 19:30:56 +08:00
João Brilhante 8167aa1852 [java][feign] Fix model combining properties and additional properties (#19713) 2025-02-15 02:16:46 +08:00
João Brilhante c3c2e7aeca [java][webclient] Fix model combining properties and additional properties (#19711) 2025-02-15 00:15:22 +08:00
João Brilhante a5c9c6d531 [java][resttemplate] Fix model combining properties and additional properties (#19706) 2025-02-15 00:13:13 +08:00
William Cheng dd67423c8c update samples (#20647) 2025-02-12 17:57:18 +08:00
zaenk 3eddc9af85 [JavaSpring, kotlin-spring] attach sources when maven and interfaceOnly=true is used (#20640)
* [JavaSpring] attach sources when using maven and interfaceOnly=true

Closes #15659

* [kotlin-spring] attach sources when using maven and interfaceOnly=true

Closes #15659
2025-02-12 17:41:14 +08:00
Ross Sullivan 9ed15a1c97 [Rust] Fixed Rust default isAnyType causing compiler issues. (#20631)
* Fixed Rust default `isAnyType` causing compiler issues.

* Added tests for Rust isAnyType's

* Fixed thread_test.rs
2025-02-11 12:55:57 +08:00
Elric Milon 21bf477da3 [Rust] Bump axum and axum-extra (#20548)
* Bump axum and axum-extra to latest version.

 - This bump requires fixing path parameters due to matchit transitive dependency
changes (See https://github.com/tokio-rs/axum/pull/2645).

 - The `Host` extractor has been moved from `axum` to `axum-extra`.
 - Axum now ships multipart extractor support, switch to that.

* Update rust-axum samples
2025-02-10 22:01:15 +08:00
Michael Faille aeb7caf9b1 Fix: Resolve Dart 3.5+ and json_serializable 6.9.0+ compatibility issues in generated dart-dio clients (#20460)
This commit fixes compatibility problems between the generated dart-dio code, json_serializable 6.9.0+, and Dart SDK 3.5 or later.

Changes:

- Updated `pubspec.mustache`:
    - Set the minimum SDK constraint for the generated package to `>=3.5.0 <4.0.0`, reflecting the language version used in the generated code.
    - Bump `json_annotation` dependency to `^4.9.0`.
    - Bump `json_serializable` dependency to `^6.9.0`.

These changes ensure that the generated code:

- Is compatible with `json_serializable` 6.9.0+ and Dart SDK 3.5+.
- Avoids Dart 3.5+ specific syntax that causes errors on older SDKs.
- Maintains existing functionality and type safety.

Resolves: #16117, #14863
2025-02-10 19:39:16 +08:00
Andriy Slobodyanyk cdfa7fee77 Using Optional.ofNullable() at the fluent setters to prevent NPE (#20406)
* * Uses Optional.ofNullable() at the fluent setters to prevent NPE
* Fixes issue #17538

* updates samples
2025-02-10 18:23:01 +08:00
Ross Sullivan 79f70dcc8b feat: [rust] Dynamically add uuid crate only if used (#20619) 2025-02-10 11:04:09 +08:00
Zemke c2c161eb26 format date in codegen (#20516) 2025-02-10 00:11:01 +08:00
develop-gby af6be6adee Solution.mustache file modified (csharp generator) (#20621) 2025-02-09 23:13:07 +08:00
Dominik Broj 6f19741927 update jackson-threeten to 2.18.2 (#20530)
* update jackson-threeten to 2.18.2

* update threeten versions in test templates

* update to jackson 2.18.2

* bump jacoco to improve compat with newer java versions
2025-02-09 22:39:58 +08:00
William Cheng 61262e939a [csharp] Fixed discriminator (#20624)
* fixed discriminator

* build samples

* minor refactors

* build samples

* replaced boolean with protected method

---------

Co-authored-by: devhl <shawnkanyer@gmail.com>
2025-02-09 22:32:17 +08:00
Philip Standt 97c805f0e0 [php][php-nextgen] enumUnknownDefaultCase true now return the correct value for unknown values (#20594) 2025-02-09 22:10:47 +08:00
Blake Lassiter 53f7e471c4 unity error message and code cleanup (#20595) 2025-02-09 21:56:00 +08:00
Blake Lassiter 055605b075 SortModelPropertiesByRequiredFlag - simplified comparison to order boolean false first (#20602) 2025-02-09 21:55:41 +08:00
Ross Sullivan e1130c343a Added HTTP method+path to JavaDocs in kotlin clients (#20618)
* feat: Added HTTP method+path to JavaDocs in kotlin OkHTTP client

* feat: Added HTTP method+path to JavaDocs in kotlin Ktor client

* feat: Added HTTP method+path to JavaDocs in kotlin retrofit2 client

* feat: Added HTTP method+path to JavaDocs in kotlin vertex client

* feat: Added HTTP method+path to JavaDocs in kotlin volley client
2025-02-09 21:55:23 +08:00
Victoria Casasampere Fernandez adbbe68d4d [Rust-Axum][Breaking Change] Implement a customizable error handler (#20463)
* Implement a custom error handler for unhandled or generic endpoint errors

* Pass in method, host and cookies to error handler

* Update axum to 0.8

* Make API methods take references instead of ownership

* Multipart is also part of the axum update

* Prevent replacing path names with the same name as a dynamic path parameter

* Use status code name instead of number

* Rollback axum update

* Forgot paths
2025-02-09 21:54:01 +08:00
martin-mfg ba0456aa91 remove error message (#20623) 2025-02-09 21:52:51 +08:00
devhl-labs 01fa58a763 [csharp] Replaced property from allOf (#20578)
* replaced inherited property

* removed a comment
2025-02-09 21:43:50 +08:00
Dimitar Tomov c74dfa3b3e [kotlin-client][jvm-spring-restclient] Extract data from PartConfig for multipart/form-data requests (#20598) 2025-02-06 07:43:59 +00:00
Jimmy Praet 9a9c1087be Add config option to disable generation of @JsonCreator constructor (#20570) 2025-02-05 16:00:03 +08:00
Ian Asaff 248a78b894 fix outer enum number bug elixir generator (#20592) 2025-02-05 15:04:26 +08:00
Ross Sullivan cba193666e feat: Added doc comments to Rust reqwest-trait template (#20591) 2025-02-05 14:43:51 +08:00
Ian Asaff 8998d83f99 [elixir] fixes outer enum bug #16412 (#20587) 2025-02-04 10:52:20 +01:00
David Wittman 68e7d49456 [typescript-axios] Conditionally set user-agent (#20571)
The change in #20067 has caused some issues with clients which run in a
Browser. This commit replaces that change, leaving the default
User-Agent for axios unmodified, and only sets the User-Agent if the
`http-user-agent` parameter is provided during generation time.
2025-02-03 16:00:18 +01:00
Ross Sullivan 5ecde555ab chore: Bumped Rust reqwest-middleware crate to 0.4 (#20577) 2025-02-03 01:18:36 +08:00
devhl-labs 3ee7886345 removed a model (#20573) 2025-02-02 14:00:32 +08:00
Alejandro Ramirez e553180c06 [swift][bug] Fix generation of multiple cases with associated values, fix #20560 (#20568)
* Cases previously generated as "case type[Int]([Int])" become "case typeArrayOfInt([Int])"
2025-02-01 22:35:50 +00:00
devhl-labs 187af2ec4e removed a using statement (#20541) 2025-01-31 17:23:35 +08:00
dependabot[bot] 8b52b0afe3 Bump actions/setup-dotnet from 4.2.0 to 4.3.0 (#20563)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-31 15:36:58 +08:00
Gregory Merlet 8c337f05be Add optional AxiosRequestConfig parameter to typescript-nestjs service functions (#20222)
* feat: add options to service functions

* fix: fix type error

* refactor: change options parameter

* chore: update samples

* fix: fix options use order

* refactor: rename options

* refactor: import type
2025-01-29 11:12:25 +01:00
devhl-labs f1c1567aa9 [csharp][generichost] Fixes de/serialization (#20540)
* fixed json serializer

* build samples
2025-01-26 22:18:11 +08:00
William Cheng b033219c54 Add ClickIT as bronze sponsor (#20542)
* add ClickIT as bronze sponsor

* update url
2025-01-26 21:48:40 +08:00
Tanmay Mohapatra 561a707afc [julia] fix enum default vals, add api validations (#20520)
- Fix enum default value generation. Default values were falling back to the default code generator and were being generated improperly for Julia.
- Add more validations to client and server API call handlers. These validations were already being generated for models, but were missed out for API calls.
2025-01-24 15:17:25 +08:00
Abraham Olaobaju 95a74c804c allow PHP generator to accept modelNameMapping (#20533) 2025-01-24 15:16:57 +08:00
Julian Vennen a68ad56ea9 [php-*] Explicitly declare nullable parameters (#20524)
* [php-nextgen] Explicitly declare nullable parameters explicitly

* Fix some deprecation warnings in other php generators

* [php-nextgen] Fix PHP 8.4 deprecation warnings with nullable/optional array parameters
2025-01-23 18:06:15 +08:00
William Cheng ad8de61143 update go samples 2025-01-22 22:07:02 +08:00
Charles Treatman 8cbba7334d [Go] skip validator import if oneOf discriminator lookup is enabled (#20497)
* move validator import into GoClientCodegen

* add new example for oneof discriminator lookup

* regenerate samples

* add validator.v2 to go.mod if it is imported

* regenerate samples
2025-01-22 19:36:56 +08:00
Iurii Ignatko bc70f04848 Additional [this-escape] warnings fixes (#20515) 2025-01-22 01:05:54 +08:00
David Riddervold Marconis c75fbb312e [csharp][java] Fix enum discriminator default value (#19614)
* Fix enum discriminator default value

* Remove system out call

* Add case when discriminator type is ref

* Use correct schema

* Handle different use cases of mappings

* Add missing enum type Lizzy

* Make it more robust

* Add missing test for Sedan

* Refactor some code to make it cleaner

* Initialize discriminator enum field

* Don't override existing default value

* Fix issue with finding discriminators

* Move setIsEnum back to its original location

* Be smarter about figuring out the model name

* Fix final warnings

* Add javadocs to introduced methods
2025-01-21 16:09:17 +08:00
William Cheng 1fa07bf46c Prepare 7.12.0 (#20512)
* Revert "v7.11.0 release (#20508)"

This reverts commit a7240eeefe.

* prepare 7.12.0 snapshot version

* update samples

* update readme
2025-01-21 00:10:09 +08:00
14470 changed files with 309743 additions and 108390 deletions
@@ -11,7 +11,7 @@ jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: dorny/test-reporter@v1
- uses: dorny/test-reporter@v2
with:
artifact: surefire-test-results
name: JUnit Test results
+1
View File
@@ -142,6 +142,7 @@ jobs:
path: modules/openapi-generator-cli/target
- name: Delete samples that are entirely generated
run: |
rm -rf samples/client/petstore/csharp/generichost/latest/HelloWorld
rm -rf samples/client/petstore/csharp/generichost/latest/Tags
rm -rf samples/client/petstore/csharp/generichost/net8/AllOf
@@ -26,7 +26,7 @@ jobs:
- samples/server/petstore/aspnet/fastendpoints-useValidators
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
@@ -28,7 +28,7 @@ jobs:
# - samples/client/petstore/csharp/unityWebRequest/standard2.0/Petstore/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: 3.1.*
- name: Build
@@ -25,7 +25,7 @@ jobs:
- samples/server/petstore/aspnetcore-6.0-useSwashBuckle
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '6.0.x'
- name: Build
@@ -19,7 +19,7 @@ jobs:
- samples/client/echo_api/csharp/restsharp/net8/EchoApi
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Run echo server
@@ -16,9 +16,10 @@ jobs:
matrix:
sample:
- samples/client/petstore/csharp/restsharp/net8/ParameterMappings/
- samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
@@ -26,7 +26,7 @@ jobs:
- samples/server/petstore/aspnetcore-8.0-use-centralized-package-version-management
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
+1 -1
View File
@@ -34,7 +34,7 @@ jobs:
- samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
+2 -1
View File
@@ -24,6 +24,7 @@ jobs:
matrix:
sample:
- samples/client/petstore/csharp/generichost/latest/Tags
- samples/client/petstore/csharp/generichost/latest/HelloWorld
- samples/client/petstore/csharp/generichost/net9/AllOf
- samples/client/petstore/csharp/generichost/net9/AnyOf
- samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare
@@ -43,7 +44,7 @@ jobs:
#- samples/client/petstore/csharp/unityWebRequest/net9/Petstore
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.2.0
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '9.0.101'
- name: Build
@@ -61,6 +61,8 @@ jobs:
- samples/client/petstore/java/webclient-swagger2
- samples/client/petstore/java/webclient-useSingleRequestParameter
- samples/client/petstore/java/vertx
- samples/client/petstore/java/vertx-no-nullable
- samples/client/petstore/java/vertx-supportVertxFuture
- samples/client/petstore/java/jersey2-java8-localdatetime
- samples/client/petstore/java/google-api-client
- samples/client/petstore/java/rest-assured
@@ -74,6 +76,7 @@ jobs:
- samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter
- samples/client/petstore/java/apache-httpclient
- samples/client/petstore/java/feign
- samples/client/petstore/java/feign-hc5
- samples/client/petstore/java/feign-no-nullable
- samples/client/petstore/java/okhttp-gson-awsv4signature
- samples/openapi3/client/petstore/java/jersey2-java8-special-characters
@@ -28,6 +28,7 @@ jobs:
- samples/client/petstore/java/restclient-nullable-arrays
- samples/client/petstore/java/restclient-swagger2
- samples/client/petstore/java/restclient-useSingleRequestParameter
- samples/client/petstore/java/restclient-useSingleRequestParameter-static
- samples/client/petstore/java/webclient-useSingleRequestParameter
steps:
- uses: actions/checkout@v4
+1 -1
View File
@@ -30,7 +30,7 @@ jobs:
# Using develop mode to install package so that it is easier to modify the package test files
julia -e "using Pkg; Pkg.develop(\"OpenAPI\");"
cd ~/.julia/dev/OpenAPI
git checkout v0.1.25
git checkout v0.2.0
cd $currdir
rm -rf ~/.julia/dev/OpenAPI/test/client/openapigenerator_petstore_v3/petstore
rm -rf ~/.julia/dev/OpenAPI/test/server/openapigenerator_petstore_v3/petstore
@@ -42,6 +42,7 @@ jobs:
- samples/server/petstore/kotlin-server/javalin-6
- samples/server/petstore/kotlin-server/ktor
- samples/server/petstore/kotlin-server/ktor2
- samples/server/petstore/kotlin-misk
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/
steps:
@@ -66,4 +67,4 @@ jobs:
arguments: wrapper
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test
run: ./gradlew build -x test
@@ -25,6 +25,7 @@ jobs:
- samples/server/petstore/kotlin-server/ktor
- samples/server/petstore/kotlin-server/ktor2
- samples/server/petstore/kotlin-server-required-and-nullable-properties
- samples/server/petstore/kotlin-misk
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
+2 -1
View File
@@ -47,6 +47,7 @@ jobs:
- samples/server/others/kotlin-server/jaxrs-spec
- samples/server/others/kotlin-server/jaxrs-spec-array-response
- samples/server/petstore/kotlin-spring-cloud
- samples/server/petstore/kotlin-misk
# comment out due to gradle build failure
#- samples/server/petstore/kotlin-spring-default
# no build.gradle file
@@ -73,4 +74,4 @@ jobs:
arguments: wrapper
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test
run: ./gradlew build -x test
+31
View File
@@ -0,0 +1,31 @@
name: Samples OCaml
on:
push:
paths:
- 'samples/client/petstore/ocaml/**'
pull_request:
paths:
- 'samples/client/petstore/ocaml/**'
jobs:
build:
name: Build OCaml
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/petstore/ocaml/'
steps:
- uses: actions/checkout@v4
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5
- name: Install
run: opam install . --deps-only --with-test
working-directory: ${{ matrix.sample }}
- name: Build
run: opam exec -- dune build
working-directory: ${{ matrix.sample }}
-32
View File
@@ -1,32 +0,0 @@
name: Samples PHP 7.x
on:
push:
paths:
- samples/server/petstore/php-laravel/lib/
pull_request:
paths:
- samples/server/petstore/php-laravel/lib/
jobs:
build:
name: Build PHP projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/php-laravel/lib/
steps:
- uses: actions/checkout@v4
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: php-cs-fixer, phpunit
- name: composer install
working-directory: ${{ matrix.sample }}
run: composer install
- name: phpunit
working-directory: ${{ matrix.sample }}
run: vendor/bin/phpunit
+3
View File
@@ -5,10 +5,12 @@ on:
paths:
- samples/server/petstore/php-symfony/SymfonyBundle-php/**
- samples/server/petstore/php-flight/**
- samples/server/petstore/php-laravel/**
pull_request:
paths:
- samples/server/petstore/php-symfony/SymfonyBundle-php/**
- samples/server/petstore/php-flight/**
- samples/server/petstore/php-laravel/**
jobs:
build:
name: Build PHP projects
@@ -25,6 +27,7 @@ jobs:
# servers
- samples/server/petstore/php-symfony/SymfonyBundle-php/
- samples/server/petstore/php-flight/
- samples/server/petstore/php-laravel/
steps:
- uses: actions/checkout@v4
- name: Setup PHP with tools
+39
View File
@@ -0,0 +1,39 @@
name: Samples Protobuf
on:
push:
paths:
- .github/workflows/samples-protobuf.yaml
- samples/config/petstore/protobuf-schema/**
- samples/config/petstore/protobuf-schema-config/**
pull_request:
paths:
- .github/workflows/samples-protobuf.yaml
- samples/config/petstore/protobuf-schema/**
- samples/config/petstore/protobuf-schema-config/**
jobs:
build:
name: Build Protobuf Client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/config/petstore/protobuf-schema/'
- 'samples/config/petstore/protobuf-schema-config/'
- 'samples/config/petstore/protobuf-schema-config-complex/'
steps:
- uses: actions/checkout@v4
- name: Install Protocol Buffers Compiler
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
- name: Generate Protobuf Schema
working-directory: ${{ matrix.sample }}
run: |
mkdir out
protoc --proto_path=. --cpp_out=out models/*.proto services/*.proto
- name: Verify Generated Files
working-directory: ${{ matrix.sample }}
run: |
ls -l out/models
ls -l out/services
@@ -18,11 +18,11 @@ jobs:
- samples/client/echo_api/python
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
@@ -15,11 +15,11 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
sample:
- samples/openapi3/client/petstore/python-aiohttp
- samples/openapi3/client/petstore/python
+38
View File
@@ -0,0 +1,38 @@
name: Samples Scala/sbt (JDK8)
on:
push:
paths:
- 'samples/server/petstore/scala-finch/**'
pull_request:
paths:
- 'samples/server/petstore/scala-finch/**'
jobs:
build:
name: Build scala-finch servers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/scala-finch # cannot be tested with jdk11
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Setup sbt launcher
uses: sbt/setup-sbt@v1
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.ivy2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/build.sbt') }}
- name: Build and test
working-directory: ${{ matrix.sample }}
run: sbt -v +test
+4 -4
View File
@@ -20,18 +20,18 @@ jobs:
matrix:
sample:
# clients
- 'samples/client/petstore/java/okhttp-gson'
- samples/client/petstore/java/okhttp-gson
- samples/client/petstore/scalaz
- samples/client/petstore/scala-pekko
- samples/client/petstore/scala-http4s
#- samples/client/petstore/scala-sttp # won't pass while the same tests in circleci pass
#- samples/client/petstore/scala-sttp
#- samples/client/petstore/scala-sttp-circe
# servers
- samples/server/petstore/scala-lagom-server
- samples/server/petstore/scala-play-server
- samples/server/petstore/scala-akka-http-server
- samples/server/petstore/scala-pekko-http-server
- samples/server/petstore/scalatra
- samples/server/petstore/scala-finch # cannot be tested with jdk11
- samples/server/petstore/scala-http4s-server
- samples/server/petstore/scala-cask
steps:
@@ -39,7 +39,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
java-version: 11
- name: Setup sbt launcher
uses: sbt/setup-sbt@v1
- name: Cache maven dependencies
@@ -5,16 +5,20 @@ on:
paths:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/springboot-api-response-examples
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples
pull_request:
paths:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/springboot-api-response-examples
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples
jobs:
build:
name: Build Java Spring (JDK17)
@@ -27,9 +31,11 @@ jobs:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional
# servers
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/springboot-api-response-examples
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
+1
View File
@@ -45,6 +45,7 @@ jobs:
- samples/server/petstore/spring-boot-defaultInterface-unhandledException
- samples/server/petstore/springboot
- samples/server/petstore/springboot-beanvalidation
- samples/server/petstore/springboot-builtin-validation
- samples/server/petstore/springboot-delegate
- samples/server/petstore/springboot-delegate-no-response-entity
- samples/server/petstore/springboot-implicitHeaders
+6 -6
View File
@@ -37,12 +37,12 @@ services:
# comment out the host table change to use the public petstore server
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
chrome: stable
#apt:
# sources:
# - ubuntu-toolchain-r-test
# packages:
# - g++-5
#chrome: stable
hosts:
- petstore.swagger.io
+1
View File
@@ -122,6 +122,7 @@ else
(cd samples/client/petstore/scala-akka && mvn integration-test)
(cd samples/client/petstore/scala-sttp && mvn integration-test)
(cd samples/client/petstore/scala-sttp-circe && mvn integration-test)
(cd samples/client/petstore/scala-sttp4 && mvn integration-test)
(cd samples/client/petstore/clojure && mvn integration-test)
(cd samples/client/petstore/java/jersey2-java8 && mvn integration-test)
+16 -9
View File
@@ -15,7 +15,7 @@
<div align="center">
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.11.0`):
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.13.0`):
[![Build Status](https://api.travis-ci.com/OpenAPITools/openapi-generator.svg?branch=master&status=passed)](https://app.travis-ci.com/github/OpenAPITools/openapi-generator/builds)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
@@ -73,6 +73,7 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
[<img src="https://openapi-generator.tech/img/companies/kong.png" width="128" height="128">](https://konghq.com/products/kong-konnect?utm_medium=referral&utm_source=github&utm_campaign=platform&utm_content=openapi-generator)
[<img src="https://openapi-generator.tech/img/companies/route4me.png" width="128" height="128">](https://route4me.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
[<img src="https://openapi-generator.tech/img/companies/dm.png" width="128" height="128">](https://www.dotcom-monitor.com/sponsoring-open-source-projects/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
[<img src="https://openapi-generator.tech/img/companies/clickit.jpg" width="128" height="128">](https://www.clickittech.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity
@@ -130,8 +131,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
| OpenAPI Generator Version | Release Date | Notes |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
| 7.11.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.11.0-SNAPSHOT/) | 20.12.2024 | Minor release with breaking changes (with fallback) |
| [7.10.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.10.0) (latest stable release) | 18.11.2024 | Minor release with breaking changes (with fallback) |
| 7.13.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.13.0-SNAPSHOT/) | 02.04.2025 | Minor release with breaking changes (with fallback) |
| [7.12.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.12.0) (latest stable release) | 28.02.2025 | Minor release with breaking changes (with fallback) |
| [6.6.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.6.0) | 11.05.2023 | Minor release with breaking changes (with fallback) |
| [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) | 31.01.2022 | Minor release with breaking changes (with fallback) |
| [4.3.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.1) | 06.05.2020 | Patch release (enhancements, bug fixes, etc) |
@@ -194,16 +195,16 @@ See the different versions of the [openapi-generator-cli](https://search.maven.o
<!-- RELEASE_VERSION -->
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 11 runtime at a minimum):
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar`
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar`
For **Mac/Linux** users:
```sh
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar -O openapi-generator-cli.jar
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar -O openapi-generator-cli.jar
```
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.
```
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar
```
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
@@ -438,7 +439,7 @@ openapi-generator-cli version
To use a specific version of "openapi-generator-cli"
```sh
openapi-generator-cli version-manager set 7.10.0
openapi-generator-cli version-manager set 7.12.0
```
Or install it as dev-dependency:
@@ -462,7 +463,7 @@ pip install openapi-generator-cli
To install a specific version
```
pip install openapi-generator-cli==7.10.0
pip install openapi-generator-cli==7.12.0
```
You can also install with [jdk4py](https://github.com/activeviam/jdk4py) instead of java binary. (python>=3.10 is required)
@@ -488,7 +489,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
(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/3_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](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.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`
@@ -630,6 +631,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [act coding](https://github.com/actcoding)
- [Adaptant Solutions AG](https://www.adaptant.io/)
- [adesso SE](https://www.adesso.de/)
- [adorsys GmbH & Co.KG](https://adorsys.com/)
- [Adyen](https://www.adyen.com/)
- [Agoda](https://www.agoda.com/)
- [Airthings](https://www.airthings.com/)
@@ -971,6 +973,8 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2024-04-04 - [Working with OpenAPI using Rust](https://www.shuttle.dev/blog/2024/04/04/using-openapi-rust) by [Joshua Mo](https://twitter.com/joshmo_dev)
- 2024-04-08 - [Implement API first strategy with OpenAPI generator plugin](https://medium.com/javarevisited/implement-api-first-strategy-with-openapi-generator-plugin-e4bbe7f0d778) by [Rui Zhou](https://medium.com/@wirelesser)
- 2024-05-06 - [OpenAPI Generator Custom Templates](https://www.javacodegeeks.com/openapi-generator-custom-templates.html) by [Mary Zheng](https://www.javacodegeeks.com/author/mary-zheng)
- 2025-02-09 - [Custom validation with OpenApiGenerator and Spring Boot 3](https://medium.com/@jugurtha.aitoufella/custom-validation-with-openapigenerator-and-spring-boot-3-34a656e815c8) by [Jugurtha Aitoufella](https://medium.com/@jugurtha.aitoufella)
- 2025-02-20 - [Optimizing API Integration in a Large React Application Using OpenAPI Generator](https://www.youtube.com/watch?v=-B33pQnGQUI) by Stefano Marzo
## [6 - About Us](#table-of-contents)
@@ -1135,10 +1139,12 @@ Here is a list of template creators:
* Kotlin (Spring Boot): @dr4ke616
* Kotlin (Vertx): @Wooyme
* Kotlin (JAX-RS): @anttileppa
* Kotlin Misk: @andrewwilsonnew @guiarn
* Kotlin WireMock: @stefankoppier
* NodeJS Express: @YishTish
* PHP Flight: @daniel-sc
* PHP Laravel: @renepardon
* PHP Laravel (refactor in 7.12.0): @gijs-blanken
* PHP Lumen: @abcsun
* PHP Mezzio (with Path Handler): @Articus
* PHP Slim: @jfastnacht
@@ -1149,6 +1155,7 @@ Here is a list of template creators:
* Python AIOHTTP:
* Ruby on Rails 5: @zlx
* Rust (rust-server): @metaswitch
* Rust (rust-axum): @linxGnu
* Scala Akka: @Bouillie
* Scala Cask: @aaronp
* Scala Finch: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
+3
View File
@@ -43,6 +43,9 @@ build_script:
#- dotnet build samples\client\petstore\csharp\OpenAPIClient-ConditionalSerialization\Org.OpenAPITools.sln
test_script:
- dotnet test samples\client\petstore\csharp\generichost\latest\Tags\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\latest\HelloWorld\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net9\AllOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net9\AnyOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net9\AnyOfNoCompare\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
@@ -0,0 +1,9 @@
# for csharp generichost
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/latest/HelloWorld
inputSpec: modules/openapi-generator/src/test/resources/3_1/csharp/hello-world.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
modelPropertySorting: alphabetical
operationParameterSorting: alphabetical
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/latest/Tags
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/tags.json
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/AllOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/AnyOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/FormModels
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/OneOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.7/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/AllOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/AnyOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/FormModels
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/OneOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net4.8/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/AllOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/AnyOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/FormModels
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/SourceGeneration
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/NullReferenceTypes
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/OneOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
-1
View File
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net8/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/AllOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/AnyOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/FormModels
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/SourceGeneration
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/NullReferenceTypes
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/OneOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
-1
View File
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/net9/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -2,7 +2,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/standard2.0/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
@@ -1,4 +1,5 @@
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net4.7/MultipleFrameworks
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
+1
View File
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net4.7/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature-oneof-primitive-types.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
+1
View File
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net4.8/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature-oneof-primitive-types.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,4 +1,5 @@
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net8/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,4 +1,5 @@
generatorName: csharp
library: restsharp
outputDir: samples/client/echo_api/csharp/restsharp/net8/EchoApi
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,4 +1,5 @@
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net8/ParameterMappings
inputSpec: modules/openapi-generator/src/test/resources/3_0/name-parameter-mappings.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net8/UseDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
+1
View File
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net8/EnumMappings
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature-oneof-primitive-types.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
+1
View File
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net9/EnumMappings
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature-oneof-primitive-types.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,4 +1,5 @@
generatorName: csharp
library: restsharp
outputDir: samples/client/others/csharp-complex-files
inputSpec: modules/openapi-generator/src/test/resources/3_0/form-multipart-binary-array.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/standard2.0/ConditionalSerialization
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -1,5 +1,6 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/standard2.0/Petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature-oneof-primitive-types.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
@@ -0,0 +1,10 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-addpet-only.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{D0A67E81-4061-48EB-B4B8-C73BDF8B2D95}'
targetFramework: net8.0
useVirtualForHooks: true
@@ -0,0 +1,6 @@
generatorName: go
outputDir: samples/client/others/go/oneof-discriminator-lookup
inputSpec: modules/openapi-generator/src/test/resources/3_0/go/spec-with-oneof-discriminator.yaml
additionalProperties:
useOneOfDiscriminatorLookup: "true"
hideGenerationTimestamp: "true"
+9
View File
@@ -0,0 +1,9 @@
generatorName: java
outputDir: samples/client/petstore/java/feign-hc5
library: feign-hc5
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
booleanGetterPrefix: is
artifactId: petstore-feign-hc5
hideGenerationTimestamp: "true"
@@ -0,0 +1,9 @@
generatorName: java
outputDir: samples/client/petstore/java/restclient-useSingleRequestParameter-static
library: restclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: singleparam-restclient-static
hideGenerationTimestamp: "true"
useSingleRequestParameter: static
@@ -0,0 +1,10 @@
generatorName: java
outputDir: samples/client/petstore/java/vertx-supportVertxFuture
library: vertx
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-vertx-supportvertxfuture
hideGenerationTimestamp: "true"
dateLibrary: java8
supportVertxFuture: "true"
@@ -1,7 +1,7 @@
generatorName: kotlin
outputDir: samples/openapi3/client/petstore/kotlin-jvm-retrofit2-coroutines
outputDir: samples/client/petstore/kotlin-jvm-retrofit2-coroutines
library: jvm-retrofit2
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
serializationLibrary: gson
@@ -9,3 +9,4 @@ additionalProperties:
artifactId: kotlin-petstore-coroutines-client
serializableModel: "true"
dateLibrary: java8
useResponseAsReturnType: false
+8
View File
@@ -0,0 +1,8 @@
generatorName: kotlin-misk
outputDir: samples/server/petstore/kotlin-misk
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-misk
validateSpec: false
additionalProperties:
hideGenerationTimestamp: "true"
moduleClassName: "PetStoreModule"
@@ -0,0 +1,11 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/rust-axum-array-params-test
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/rust-axum-array-params-test.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: rust-axum-array-params-test
globalProperties:
skipFormModel: false
enablePostProcessFile: true
+1 -1
View File
@@ -1,6 +1,6 @@
generatorName: nim
outputDir: samples/client/petstore/nim
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/nim/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/nim-client
additionalProperties:
packageName: petstore
@@ -0,0 +1,9 @@
generatorName: protobuf-schema
outputDir: samples/config/petstore/protobuf-schema-config-complex
inputSpec: modules/openapi-generator/src/test/resources/3_0/protobuf/petstore-complex.yaml
templateDir: modules/openapi-generator/src/main/resources/protobuf-schema
additionalProperties:
packageName: petstore
addJsonNameAnnotation: true
numberedFieldNumberList: true
startEnumsWithUnspecified: true
+25
View File
@@ -0,0 +1,25 @@
generatorName: protobuf-schema
outputDir: samples/config/petstore/protobuf-schema-config
inputSpec: modules/openapi-generator/src/test/resources/3_0/protobuf/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/protobuf-schema
additionalProperties:
packageName: petstore
addJsonNameAnnotation: true
numberedFieldNumberList: true
startEnumsWithUnspecified: true
wrapComplexType: false
supportMultipleResponses: false
aggregateModelsName: data
customOptionsApi: |
option java_multiple_files = true;
option java_package = "com.example.tutorial.protos.api";
option java_outer_classname = "ExampleProtos";
customOptionsModel: |
option java_multiple_files = false;
option java_package = "com.example.tutorial.protos.model";
option java_outer_classname = "ExampleProtos";
useSimplifiedEnumNames: true
typeMappings:
object: "google.protobuf.Struct"
importMappings:
google.protobuf.Struct: "google/protobuf/struct"
+4
View File
@@ -4,3 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/protobuf/petstore.ya
templateDir: modules/openapi-generator/src/main/resources/protobuf-schema
additionalProperties:
packageName: petstore
typeMappings:
object: "google.protobuf.Struct"
importMappings:
google.protobuf.Struct: "google/protobuf/struct"
+15
View File
@@ -0,0 +1,15 @@
generatorName: scala-sttp
outputDir: samples/client/petstore/scala-sttp-circe
inputSpec: modules/openapi-generator/src/test/resources/3_0/scala/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/scala-sttp
nameMappings:
_type: "`underscoreType`"
type_: "`typeWithUnderscore`"
http_debug_operation: "`httpDebugOperation`"
parameterNameMappings:
_type: underscoreType
type_: typeWithUnderscore
http_debug_operation: httpDebugOperation
additionalProperties:
artifactId: scala-sttp-petstore
jsonLibrary: circe
@@ -0,0 +1,13 @@
generatorName: spring
outputDir: samples/server/petstore/springboot-api-response-examples
library: spring-boot
inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/api-response-examples_issue17610.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
additionalProperties:
artifactId: springboot-api-response-examples
documentationProvider: springdoc
useSpringBoot3: true
java8: true
delegatePattern: true
useBeanValidation: true
hideGenerationTimestamp: "true"
@@ -0,0 +1,13 @@
generatorName: spring
outputDir: samples/server/petstore/springboot-builtin-validation
library: spring-boot
inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
additionalProperties:
documentationProvider: springfox
useSwaggerUI: false
java8: true
useBeanValidation: true
useSpringBuiltInValidation: true
artifactId: spring-boot-builtin-validation
hideGenerationTimestamp: "true"
@@ -0,0 +1,13 @@
generatorName: spring
outputDir: samples/server/petstore/springboot-petstore-with-api-response-examples
library: spring-boot
inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore_with_api_response_examples.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
additionalProperties:
artifactId: springboot-petstore-with-api-response-examples
documentationProvider: springdoc
useSpringBoot3: true
java8: true
delegatePattern: true
useBeanValidation: true
hideGenerationTimestamp: "true"
@@ -12,3 +12,4 @@ additionalProperties:
useSwaggerUI: "false"
hideGenerationTimestamp: "true"
documentationProvider: none
#optionalAcceptNullable: "false" # default to true
@@ -2,6 +2,7 @@ generatorName: typescript-axios
outputDir: samples/client/echo_api/typescript-axios/build
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/typescript-axios
httpUserAgent: EchoApi/1.0.0
additionalProperties:
artifactId: echo-api-typescript-axios
hideGenerationTimestamp: "true"
+10
View File
@@ -0,0 +1,10 @@
generatorName: typescript
outputDir: samples/client/echo_api/typescript/build
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/typescript
additionalProperties:
artifactId: echo-api-typescript
hideGenerationTimestamp: "true"
platform: node
npmVersion: 1.0.0
npmName: '@openapitools/typescript-echo-api'
+9 -1
View File
@@ -10,7 +10,7 @@
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/ClientTest.java"
sha256: 325fdd5d7e2c97790c0fb44f712ab7b2ba022d7e1a5b0056f47b07f342682b6d
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java"
sha256: e673d9928c8eb848262d0116fe0d28db832e128671a810a7c966d06d90cb9b63
sha256: 67941355a0a27ed9ff9318b1caa103e78b81b9aff61b594b18be5cd2bb9f6591
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/api/PetApiTest.java"
sha256: 8b1b8f2a2ad00ccb090873a94a5f73e328b98317d2ec715f53bd7a1accb2a023
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/PetTest.java"
@@ -25,6 +25,8 @@
sha256: 04715cabbe9bd27ff98dd56e3db489ebc9ffbf98d9af104a6707b0a40ab4f8fe
- filename: "samples/client/echo_api/java/resttemplate/src/test/java/org/openapitools/client/api/AuthApiTest.java"
sha256: 38193bbad7f3eef087bc1474352e484178b14a2b8c0e0ba0cd4e4960516a14f9
- filename: "samples/client/petstore/java/resttemplate/src/test/java/org/openapitools/client/JacksonTest.java"
sha256: 90e511a75178f26c8b73a6c77d16d7f134c51f959e8c72191bbe935b08436b22
- filename: "samples/client/petstore/java/jersey2-java8/src/test/java/org/openapitools/client/api/PetApiTest.java"
sha256: 24c6a39a9d7327d397dc038c368a19c84f14ed96a69fe28d53719b3eaf0a725c
- filename: "samples/client/petstore/java/jersey3/src/test/java/org/openapitools/client/api/PetApiTest.java"
@@ -49,6 +51,12 @@
sha256: 67a9e63e13ebddac21cb236aa015edce30f5d3bd8d6adcf50044cad00d48c45e
- filename: "samples/openapi3/client/petstore/java/jersey2-java8/src/test/java/org/openapitools/client/model/ZebraTest.java"
sha256: 15eeb6d8a9a79d0f1930b861540d9c5780d6c49ea4fdb68269ac3e7ec481e142
- filename: "samples/client/petstore/java/webclient/src/test/java/org/openapitools/client/JacksonTest.java"
sha256: 45cdaba3d2adc212cd4f0184ad475419a95e2326254c2ef84175e210c922b2f3
- filename: "samples/client/petstore/java/feign/src/test/java/org/openapitools/client/JacksonTest.java"
sha256: 45cdaba3d2adc212cd4f0184ad475419a95e2326254c2ef84175e210c922b2f3
- filename: "samples/client/petstore/java/restclient/src/test/java/org/openapitools/client/JacksonTest.java"
sha256: 45cdaba3d2adc212cd4f0184ad475419a95e2326254c2ef84175e210c922b2f3
# rust axum test files
- filename: "samples/server/petstore/rust-axum/output/rust-axum-oneof/tests/oneof_with_discriminator.rs"
sha256: 2d4f5a069fdcb3057bb078d5e75b3de63cd477b97725e457079df24bd2c30600
+59 -3
View File
@@ -504,7 +504,7 @@ Another useful option is `inlineSchemaOptions`, which allows you to customize ho
- `MAP_ITEM_SUFFIX` set the map item suffix
- `SKIP_SCHEMA_REUSE=true` is a special value to skip reusing inline schemas during refactoring
- `REFACTOR_ALLOF_INLINE_SCHEMAS=true` will restore the 6.x (or below) behaviour to refactor allOf inline schemas into $ref. (v7.0.0 will skip the refactoring of these allOf inline schemas by default)
- `RESOLVE_INLINE_ENUMS=true` will refactor inline enum definitions into $ref
- `RESOLVE_INLINE_ENUMS=true` will refactor inline enum definitions into $ref. This must be activated to allow the renaming of inline enum definitions using `inlineSchemaMappings`.
## OpenAPI Normalizer
@@ -573,6 +573,13 @@ Example:
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /tmp/java-okhttp/ --openapi-normalizer SET_TAGS_TO_OPERATIONID=true
```
- `SET_TAGS_TO_VENDOR_EXTENSION`: when set to a string value, tags will be set to the value of the provided vendor extension
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/enableSetTagsToVendorExtension_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer SET_TAGS_TO_VENDOR_EXTENSION=x-tags
```
- `ADD_UNSIGNED_TO_INTEGER_WITH_INVALID_MAX_VALUE`: when set to true, auto fix integer with maximum value 4294967295 (2^32-1) or long with 18446744073709551615 (2^64-1) by adding x-unsigned to the schema
Example:
@@ -594,11 +601,36 @@ Example:
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/enableKeepOnlyFirstTagInOperation_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer REMOVE_X_INTERNAL=true
```
- `FILTER`: When set to `operationId:addPet|getPetById` for example, it will add `x-internal:true` to operations with operationId not equal to addPet/getPetById (which will have x-internal set to false) so that these operations marked as internal won't be generated.
- `NORMALIZER_CLASS`: Set to full classname of a class extending the default org.openapitools.codegen.OpenAPINormalizer. It allows customization of the default normalizer.
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /tmp/java-okhttp/ --openapi-normalizer FILTER="operationId:addPet|getPetById"
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/required-properties.yaml -o /tmp/java-okhttp/ --openapi-normalizer NORMALIZER_CLASS=org.openapitools.codegen.OpenAPINormalizerTest$RemoveRequiredNormalizer
```
- `FILTER`
The `FILTER` parameter allows selective inclusion of API operations based on specific criteria. It applies the `x-internal: true` property to operations that do **not** match the specified values, preventing them from being generated.
### Available Filters
- **`operationId`**
When set to `operationId:addPet|getPetById`, operations **not** matching `addPet` or `getPetById` will be marked as internal (`x-internal: true`), and excluded from generation. Matching operations will have `x-internal: false`.
- **`method`**
When set to `method:get|post`, operations **not** using `GET` or `POST` methods will be marked as internal (`x-internal: true`), preventing their generation.
- **`tag`**
When set to `tag:person|basic`, operations **not** tagged with `person` or `basic` will be marked as internal (`x-internal: true`), and will not be generated.
### Example Usage
```sh
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-g java \
-i modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-o /tmp/java-okhttp/ \
--openapi-normalizer FILTER="operationId:addPet|getPetById"
```
- `SET_CONTAINER_TO_NULLABLE`: When set to `array|set|map` (or just `array`) for example, it will set `nullable` in array, set and map to true.
@@ -621,3 +653,27 @@ Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_1/java/petstore.yaml -o /tmp/java-okhttp/ --openapi-normalizer FIX_DUPLICATED_OPERATIONID=true
```
- `SET_BEARER_AUTH_FOR_NAME`: When set to the name of an openapi 2.0 securityDefinition, that securityDefinition will be converted to the openapi 3.0 bearerAuth securityScheme.
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/2_0/globalSecurity.json -o /tmp/java-okhttp/ --openapi-normalizer SET_BEARER_AUTH_FOR_NAME=api_key
```
Transforms this securityDefinition:
```
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"name": "api_key",
"in": "header"
},
},
```
Into this securityScheme:
```
securitySchemes:
api_key:
scheme: bearer
type: http
```
+2
View File
@@ -494,6 +494,8 @@ Here is a working sample that put's together all of this.
- The default project structure now follows the SPM (Swift Package Manager) structure. To revert to the old structure, set the `useSPMFileStructure` flag to `false`.
- The former `{{projectName}}API` is now called `{{projectName}}APIConfiguration`.
- You can now set a request interceptor and retrier by configuring `OpenAPIClient.shared.interceptor`, making authenticated requests easier to manage.
- The protocol `JSONEncodable` was renamed to `ParameterConvertible`.
- The flag `useJSONEncodable` was renamed to `useParameterConvertible`.
## TypeScript

Some files were not shown because too many files have changed in this diff Show More