* Fix HTML generator to display array types for body parameters
The HTML generator (htmlDocs) was not properly displaying array types
for request body parameters. When an endpoint accepted an array of
objects as input, only the base type was shown (e.g., "User") instead
of the full array type (e.g., "array[User]").
This fix updates the bodyParam.mustache template to include container
type information (array, map, etc.) when present, matching the format
already used for return types.
Before: User
After: array[User]
The fix wraps the baseType with containerType[...] when isContainer
is true, ensuring consistent type display across both input and output
types in the generated HTML documentation.
* Add html.yaml config and document testing requirements
Due to network limitations in the automated build environment, the
following steps could not be completed but are required per
contribution guidelines:
1. Build project: ./mvnw clean install -DskipTests
2. Regenerate samples: ./bin/generate-samples.sh bin/configs/html.yaml
3. Commit updated samples: git add samples/documentation/html/
Added:
- bin/configs/html.yaml: Configuration for html generator samples
- TESTING_STEPS.md: Detailed instructions for completing the PR
The template fix in bodyParam.mustache is complete and correct.
Sample regeneration is needed to verify the fix visually in the
generated HTML documentation.
* Add concrete example showing the bug location in current HTML sample
* Update HTML samples to verify array type fix
Regenerated samples/documentation/html/index.html to verify the array
type fix in bodyParam.mustache is working correctly.
Verified fix:
- Before: <div class="param">User <a href="#User">User</a> (required)</div>
- After: <div class="param">User array[<a href="#User">User</a>] (required)</div>
The createUsersWithArrayInput endpoint (and all array body parameters)
now correctly displays "array[Type]" instead of just "Type".
Also removed TESTING_STEPS.md as testing is now complete.
* Update VERSION to 7.20.0-SNAPSHOT to match project version
The samples were regenerated using npm's openapi-generator-cli (v7.4.0),
but the CI expects the VERSION to match the current development version
(7.20.0-SNAPSHOT). Updated to prevent CI failures.
---------
Co-authored-by: Claude <noreply@anthropic.com>
* [Rust] Enum Query Parameter Serialization Fixes
Adds tests to ensure this won't regress again. Also fixes some other compile errors with Box<> and file uploads.
* Remove duplicate query param integration tests from petstore samples
* re-gen samples
* fix enum boxing tests
* stream files
* samples
* doc generator fix & snapshot
* doc generation fixes, update samples
* another attempt to fix the doc generator
* improve doc generation - don't try link to internal models, and fixing links missing in some scenarios
the rust doc generator will be the death of me
* also fix hyper
* applying same fix to hyper
* snapshot fixes
* Generate skeleton for new integration test
* Typescript-angular: Move query param deep-object test
* typescript-angular: Add query param JSON test
* Typescript-angular: Add query param form test
* Test for #20998
* typescript-angular: Reimplement query param serialisation
This notably fixes:
- JSON query param serialisation
- array serialisation with style=form and explode=true
As the class HttpParams from Angular is specially designed for the
mimetype: `application/x-www-form-urlencoded` it does not support
the range of query parameters defined by the OpenAPI specification.
To workaround this issue, this patch introduces a custom
`OpenAPIHttpParams` class which supports a wider range of query param
styles.
Note that as `HttpClient` is used afterwards, the class
`OpenApiHttpParams` has a method to convert it into a `HttpParams` from
Angular with a no-op HttpParameterCodec to avoid double serialisation of
the query parameters.
* update samples
---------
Co-authored-by: Vladimir Svoboda <vsvoboda@forkoder.eu>
* remove "async" and "responseWrapper" from template as these are not supported by kotlin-spring generator
* try to force pipelines rerun
* force pipelines rerun
* fix mustache to keep generated code identical
* Revert "fix mustache to keep generated code identical"
This reverts commit c573b43401.
* Reapply "fix mustache to keep generated code identical"
This reverts commit 2c3b065c5c.
* Add support for 'useResponseEntity' in kotlin-spring. Consolidate with the separate flag 'declarativeInterfaceWrapResponses' as these can now be controlled both by one flag. Default to true.
* fix status annotation and add compile-test samples
* satisfy samples-up-to-date check
* add unit tests covering both reactive and non-reactive
* fix template to avoid unnecessary empty line
* fix template to avoid unnecessary empty line
* put method params (if present) on separate lines to improve readability
* put method params (if present) on separate lines to improve readability; fix double spaces, spaces before comma, incorrect spaces
* fix test
* store PATHs as accesible strings in companion objects.
* fix missing import
* fix incorrect import
* fix fallback to nested placeholders.
* Generate wrappers for oneOf with discriminator when using kotlinx.serialization
* Add spec with oneOf using discriminator
* Add config to generate samples
* Generate samples
* Update samples
* Change naming of wrapper classes
* Fix empty model test
* Update GH workflow with new samples
* Add CLI option
* Add dep to generated Cargo.toml
* Add new `Error::SerdePathToError` error type
* Add `serde_path_to_error` invocation to API layer
* Add sample for serde-path-to-error
* Add arg & docstring to cliOptions as well
* Fix sample
* feat: add support for Swagger v3 annotations to jaxrs-spec
* test added unittest for jaxrs-spec with swagger3Annotations
* test added integrationtest for jaxrs-spec with swagger3Annotations
* test added integrationtest for jaxrs-spec with swaggerV2Annotations
* documentation update for new option useSwaggerV3Annotations in the jaxrs-spec.md
* test added integrationtest for jaxrs-spec with swaggerV3Annotations icm use JakartaEE
* update documentation by executing: ./bin/utils/export_docs_generators.sh
* ran on wsl: ./bin/generate-samples.sh ./bin/configs/*.yaml
* fix(kotlin-spring): add missing constructor parentheses for hashmap models
This commit fixes a bug in the kotlin-spring generator where models
defined with additionalProperties would result in uncompilable code.
The generated data class was missing the constructor invocation '()'
when inheriting from a map type.
This has been corrected to only add parentheses when the parent is a map.
The existing samples have been regenerated to reflect this change.
* Trigger CI
* [python] fix#19255 add async httpx support
* update docs
* 1. "async" parameter for templates
2. hand written tests for python-httpx
3. CI workflow updated
* fix mypy
* fix(java): x-discriminator-value should not produce @JsonTypeName
* fix(java): Remove unused getDiscriminatorValue()
* build at Fednot
* build at Fednot
* build at Fednot: skip sonar
* scm for release at fednot
* build fednot not 7.5.0-FEDNOT-SNAPSHOT
* build fednot not 7.5.0-FEDNOT-SNAPSHOT
* test all vars
* rollback custom pom.xml
* commit master
* commit test
* Samples for deduction
* add files for deduction
* small improvements
* Merge changes from martin-mfg
Merge master
* Merge changes from martin-mfg
Merge master
* Merge changes from martin-mfg
Add comment to force rebuild
* Merge master
* regenerate doc
* regenerate client
* regenerate client
---------
Co-authored-by: Jean-Paul Finne <jean-paul.finne@fednot.be>
Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>
* migrate tests from appveyor to github workflow
* test with dotnet 7
* test on windows
* set dotnet version
* Revert "set dotnet version"
This reverts commit 87af6a63ad.
* use localhost
* update
* update
* update tets
* update
* remove appveyor
* Bugfix: saving offset_date_serializer instead of local_date_serializer.dart
* New config for dart-dio (timemachine)
* test samples in github workflow
* update workflow, samples
* rename
---------
Co-authored-by: Enric Pou <enricpou@gmail.com>
* add basic implementation and tests
* improve test a bit
* modify kotlin-spring.md
* add x-kotlin-implements also to enum
* update samples & properly define implemented vendor extension
* use enum.getName() instead of hardcoded string as key in vendor extension map
* fix docs
* fix test openapi spec and test
* add samples for x-kotlin-implements
* add samples for x-kotlin-implements to proper output folder
* fix
* revert unwanted changes
* move to correct place
* fix mustache template
* add to samples-kotlin-server.yaml
* reuse 1 open api schema for everything. Add also case where interface extends interface.
* add warn logs when x-kotlin-implements-fields is used without x-kotlin-implements to improve usability
* remove unnecessary generated files
* remove unnecessary generated files
* remove "status" inner enum from Pet as it fails to properly import as Pet.Status in implementations. This is a separate bug - not caused by x-kotlin-implements
* feat: add Apache Dubbo code generator with multi-registry support
- Add comprehensive Dubbo microservice code generator
- Support Zookeeper and Nacos registries with auto-dependency selection
- Implement version-aware dependency management (Dubbo 3.2 vs 3.3+)
- Generate service interfaces, implementations, and Spring Boot REST controllers
- Include complete Spring Boot application structure with configuration
- Add detailed documentation and usage examples
- Support async operations and generic response wrappers
- Provide flexible configuration options for packages, versions, and features
* feat: Add dubbo sample with CI validation
Adds a new sample generator configuration for dubbo.
The existing GitHub workflow for Java samples is updated to build and test this new sample automatically.
* fix: fix Dubbo protocol extension issue in test environment
- Set registry address to N/A to avoid ZooKeeper dependency
- Change protocol from 'triple' to 'tri' to resolve extension loading error
* various fix to java dubbo server generator
* update doc
* update readme
---------
Co-authored-by: redoom <gyklcy@iCloud.com>
* Support normalizing anyof/oneof enum constraints to a single enum
* Add SIMPLIFY_ONEOF_ANYOF_ENUM to the documentation
* Process referenced schemas with oneof/enum as well
* Implement referenced enum merging from oneof/anyof
* Implement retaining the enum description as x-enum-desriptions for oneof enum
* Update samples and docs with oneOf enum normalization
* update samples to fix python tests
* fix test file name
* fix incorrect filename
---------
Co-authored-by: Pieter Bos <pieter.bos@nedap.com>
* [OCaml] Fix inconsistent oneOf primitive sample name
* [OCaml] Fix encoding/decoding for free-form required fields
* [OCaml] Change field comment to Odoc, move it after the field
As per Odoc documentation, record field documentation should be *after* the
field, not before.
See https://ocaml.github.io/odoc/odoc/odoc_for_authors.html#special_comments
type `my_record`
* [OCaml] Cleanup non-generated files for ocaml sample