* Fix issue with toString causing wrong value with collections
With collections, calling toString will result in the value becoming [a,b] instead of just a,b.
Using the existing apiClient::parameterToString method ensures it gets parsed correctly if it is a collection
* Updated samples
---------
Co-authored-by: Rasmus Zweidorff Iversen <rzi@jysk.com>
* Update ApiClient.mustache
* Update ApiClient.mustache
Jersey doesn't allow request entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* Update ApiClient.java
Jersey doesn't allow entities in method DELETE
* jersey ApiClient.mustache invoke DELETE without entity if empty
* jersey ApiClient.mustache invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* jersey ApiClient invoke DELETE without entity if empty
* feat (JAVA SPRING RESTCLIENT) 19406: Add single request parameter for Spring RestClient
Closes#19406
* chore (JAVA SPRING RESTCLIENT) 19406: Add new sample to jdk 17 tests
* fix (JAVA SPRING RESTCLIENT) 19406: Fix sample build
* [Java] Add a new additional property to configure Jackson's `failOnUnknownProperties`
* Move `FAIL_ON_UNKNOWN_PROPERTIES` property to JavaClientCodegen
* Template `FAIL_ON_UNKNOWN_PROPERTIES` for other libraries beside retrofit2
* Default `failOnUnknownProperties` to false for all Java Client libraries
* Fix integration tests
Add the `failOnUnknownProperties: true` additional properties to generate the
expected mapper
* Fix#16362
* Update samples
* Undo formatting changes
* Revert whitespace changes in samples
* make it work
---------
Co-authored-by: Jason Boileau <jason@boileau.dk>
Co-authored-by: Jason Boileau <spraot@users.noreply.github.com>
* test (JAVA SPRING RESTTEMPLATE) 17571: Add echo-api multipart form single file test
* feat (JAVA SPRING RESTCLIENT) 18522: Add RestClient to README
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo all of Pet test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body free form object response string test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body pet test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body pet response string test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body string enum test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body tag response test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo form tests
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo header test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo path test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo query tests
* feat (JAVA SPRING RESTCLIENT) 18522: Regenerasted API Clients for RestClient with fixed import indentation
* javax.ws.rs:javax.ws.rs-api package was renamed on maven
* update dependencies for java okhttp pom, build.sbt
* update
* update dep
---------
Co-authored-by: Andres Aguilar <andresesfm@gmail.com>
* remove thread unsafe statusCode and responseHeaders instance variables
* re-add status code and header getters for backwards compatibility
* add import
* whitespace cleanup
* use deprecated thread id getter for backwards compatibility with pre-19 java
* Add type annotations to raw types for jersey2 and jersey3 templates
* Update samples
* Add type parameters to anyof_model.mustache and oneof_model.mustache
---------
Co-authored-by: Kasper S. Nielsen <kasper.s.nielsen@secata.com>
Fixes#15077
The previous fix for this in #16096 is incomplete because it still
generates unnecessary inline models when readOnly or
nullable is used in conjunction with other properties like
description.
This commit fixes the logic error and adds testcases.
* Fix XML annotations on model properties (JavaSpring)
* generate JAXB annotations for attributes and elements
* generate wrapper annotations (JAXB and Jackson)
* use XML config from items for annotations of containers
* Add test for Jackson XML wrapper correctness
* Add additional test cases to cover all xml applications in spec
Test now covers all use cases described in
- https://web.archive.org/web/20240424203304/https://swagger.io/docs/specification/data-models/representing-xml/
- https://spec.openapis.org/oas/v3.0.0#xml-arrays
* Fix basename used instead of xmlName when items.xmlName is unset
See last example in spec: https://spec.openapis.org/oas/v3.0.0#xml-arrays
* Harmonize spacing between Annotation attribute name and value
* Refactor and group JAXB vs. Jackson XML annotations, only generate latter if enabled
This is in line with the way the class annotations in `xmlAnnotations.mustache`
are rendered – which only renders the `@Jackson`… xml annotations if
additionalProperty jackson is true.
Also reorder annotation attributes in the following order:
- localName/name
- namespace (optional)
- isAttribute/useWrapping (optional)
* Explicitly render `useWrapping = true` to @JacksonXmlElementWrapper
This was slightly inspired by @jzrebiec via PR #5371.
Wrapping is the default since Jackson 2.1 – so explicitly rendering
this will:
- make generated model work out-of-the-box in Jackson 2.0 for instance
- ensure the models still work if the local `XmlWrapper` was
configured with `useXmlWrapper(false)`
* Move xml test spec to java resources folder (not spring specific)
* Make test class name match class-under-test
This makes discovery & cross-navigation in IDE easier.
* Add complete xml annotations test for Java generators
* Fix Java PKMST generator not generating @JacksonXmlElementWrapper
* Fix Java microprofile generator missing @JacksonXmlRootElement
* Fix Java microprofile generator not using wrapper annotations and namespaces
* Fix Java Micronaut Client creating invalid (unclosed) @XmlAttribute annotations
* Fix Micronaut Client using wrong localName for @JacksonXmlElementWrapper
* Fix Micronaut client rendering @JacksonXmlProperty annotation twice
* Make Java Micronaut render @JacksonXmlElementWrapper(useWrapping=false) for non-wrapped elements
* Fix Jackson element using `xml.name` when it should be `items.xml.name`
Closes#5989Closes#3223
Relates to #9371
* Fix JAXB element using `baseName` instead of `xmlName` when items.xmlName is unset
* Remove XML generation debug output from templates
* Remove redundant newline between XML class annotations and class
Brings the SpringCodegen in line with other Java Codegen's
* Remove redundant newline between XML setter annotations and setter
* Fix multiline JavaDoc block indentation and format
* Simplify / condense xml annotation template into single lines
May look a bit more complex, but cuts out a lot of repetitiveness.
Also reorders annotation attributes in the following order:
- localName/name
- namespace (optional)
- isAttribute/useWrapping (optional)
* Harmonize spacing between Annotation attribute name and value
* Remove unused jackson_annotations partial
Was not referenced anywhere in java-helidon resources folder
---------
Co-authored-by: Christian Schuster <christian@dnup.de>
* Replace magic string "UTF-8" with StandardCharsets.UTF_8
This avoids an UnsupportedEncodingException by design.
* Remove unused UnsupportedCharsetException import
* Partially revert "replace deprecated ISO8601Utils with StdDateFormat (#17052)"
This partially reverts commit 76560e34c9aacd9d7593ac45bd204e2edf38abd9, namely anything
related to generators and samples using GSON instead of Jackson.
Changes to Jackson-only generation and generator-online regarding RFC3339DateFormat
are not being reverted.
* Test for default serialization library fallback
* Convert repetitive tests to parameterized test
* Add regression test for #18515
* [FEIGN] Only include <jackson-databind-version> property in pom.xml when required
* [RETROFIT2] Only include jackson-databind in gradle file when actually required
* [FEIGN] Don't include jackson dep's in sbt file when GSON is selected
* [FEIGN] Don't include jackson dep's in gradle file when GSON is selected
* DRY refactor JavaClientCodegen test code, increase readability
- use fluent assertions
- use helper method newTempFolder()
- use Java 9 static factory methods for maps
- don't declare variables that are only used once
- group declarations and usages
- use non-blocking java.nio.file API wherever possible
* Regenerate samples
* Drop separate version property
Not required as all Jackson packages usually tether on a version bump.
* Update Jackson to v2.17.1
* Sync Jackson version used by Spring Boot with project version
* Sync jackson update to v2.17.1 with generator templates
* Regenerate samples with updated versions
* Adjust test to current exception msg behavior
* Add dependency mgmt to ensure matching version for transitive dependencies
* Update library descriptions with correct Jackson version number
* Update library descriptions with correct GSON and JSONB versions
* Update retrofit library description with correct version number
* Update retrofit description to include Jackson as an option
This should have been done as part of in #16853.
* Update remaining libary version descriptions with correct versions
* Generate updated doc