Hello community,
i try to use OpenAPI wing bindingPackageScan to map the request to a POJO
my route definition looks like following:
restConfiguration()
.bindingMode(RestBindingMode.json)
.bindingPackageScan("cz.bvv.integrationservices.model");
rest()
.openApi()
.specification("/openapi/gop/sender/camelGOP-openapi-v1.json")
.missingOperation("ignore");
except for the names it is identical with the example on
https://github.com/apache/camel-spring-boot-examples/blob/main/openapi-contract-first/src/main/java/sample/petstore/PetStoreRoute.java
the definition part in my OpenAPI looks like:
"/coorder": {
"put": {
"tags": [
"coorder"
],
"summary": "Create or modify Coorder",
"operationId": "putCoorder",
"requestBody": {
"description": "Coorder list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Coorder"
}
}
},
"required": true
}
]
}
}
This is the generator definition in pom.xml
<plugin>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.52</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!-- we only want to generate the model classes for
spring boot -->
<language>spring</language>
<library>spring-boot3</library>
<inputSpec>${project.basedir}/src/main/resources/openapi/gop/sender/camelGOP-openapi-v1.json</inputSpec>
<modelPackage>cz.bvv.integrationservices.model</modelPackage>
<generateApis>false</generateApis>
<generateApiDocumentation>false</generateApiDocumentation>
<generateModelDocumentation>false</generateModelDocumentation>
<generateApiTests>false</generateApiTests>
<generateModelTests>false</generateModelTests>
<generateSupportingFiles>false</generateSupportingFiles>
<generateModels>true</generateModels>
</configuration>
</execution>
</executions>
</plugin>
it is also (except for the filename and package) copied from the example.
But if i debug any inbound message it gets mapped to java.util.LinkedHashMap
instead of my cz.bvv.integrationservices.model.Coorder class.
I tried to build and debug the example project but it maps the request JSON
correctly to Pet class.
Trying both on version 4.8.0
Can anyone suggest what can be the problem?
Regards
Jiri