This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push:
new 63985048fcd CAMEL-22121: rest-dsl: Add client response validator
63985048fcd is described below
commit 63985048fcd492705e7fba2ef2d3839c3287565a
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Jun 17 14:18:21 2025 +0200
CAMEL-22121: rest-dsl: Add client response validator
---
.../camel-core-starter/src/main/docs/core.json | 6 ++++++
.../RestConfigurationDefinitionAutoConfiguration.java | 9 ++++++++-
.../springboot/RestConfigurationDefinitionProperties.java | 13 +++++++++++++
3 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/components-starter/camel-core-starter/src/main/docs/core.json
b/components-starter/camel-core-starter/src/main/docs/core.json
index 06de4871bef..121d696b30b 100644
--- a/components-starter/camel-core-starter/src/main/docs/core.json
+++ b/components-starter/camel-core-starter/src/main/docs/core.json
@@ -885,6 +885,12 @@
"sourceType":
"org.apache.camel.model.rest.springboot.RestConfigurationDefinitionProperties",
"defaultValue": false
},
+ {
+ "name": "camel.rest.validation-levels",
+ "type": "java.util.Map<java.lang.String,java.lang.Object>",
+ "description": "Allows to configure custom validation levels when using
camel-openapi-validator with client request\/response validator.",
+ "sourceType":
"org.apache.camel.model.rest.springboot.RestConfigurationDefinitionProperties"
+ },
{
"name": "camel.rest.xml-data-format",
"type": "java.lang.String",
diff --git
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
index bff6e7a300f..560e9ab3b4f 100644
---
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
+++
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
@@ -65,7 +65,8 @@ public class RestConfigurationDefinitionAutoConfiguration {
properties.remove("dataFormatProperty");
properties.remove("endpointProperty");
properties.remove("corsHeaders");
-
+ properties.remove("validationLevels");
+
RestConfiguration definition = new RestConfiguration();
CamelPropertiesHelper.setCamelProperties(camelContext, definition,
properties, true);
@@ -94,6 +95,12 @@ public class RestConfigurationDefinitionAutoConfiguration {
map.forEach((k, v) -> target.put(k, v.toString()));
definition.setCorsHeaders(target);
}
+ if (config.getValidationLevels() != null) {
+ Map<String, Object> map =
CollectionHelper.flattenKeysInMap(config.getValidationLevels(), ".");
+ Map<String, String> target = new HashMap<>();
+ map.forEach((k, v) -> target.put(k, v.toString()));
+ definition.setValidationLevels(target);
+ }
return definition;
}
}
\ No newline at end of file
diff --git
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionProperties.java
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionProperties.java
index 57522ca8734..b9ede39f8d5 100644
---
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionProperties.java
+++
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionProperties.java
@@ -227,6 +227,11 @@ public class RestConfigurationDefinitionProperties {
* Allows to configure custom CORS headers.
*/
private Map<String, Object> corsHeaders;
+ /**
+ * Allows to configure custom validation levels when using
+ * camel-openapi-validator with client request/response validator.
+ */
+ private Map<String, Object> validationLevels;
public String getComponent() {
return component;
@@ -467,4 +472,12 @@ public class RestConfigurationDefinitionProperties {
public void setCorsHeaders(Map<String, Object> corsHeaders) {
this.corsHeaders = corsHeaders;
}
+
+ public Map<String, Object> getValidationLevels() {
+ return validationLevels;
+ }
+
+ public void setValidationLevels(Map<String, Object> validationLevels) {
+ this.validationLevels = validationLevels;
+ }
}
\ No newline at end of file