This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch rest-openapi
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git

commit bb5cca5ad183437a1ec548f4a994ac2a5cb6cf47
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Feb 18 13:11:06 2026 +0100

    rest-openapi-sink kamelet - Add option to configure host and basePath 
option and validation of request
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../partials/rest-openapi-sink-description.adoc    |  6 +++++-
 kamelets/rest-openapi-sink.kamelet.yaml            | 22 +++++++++++++++++++++-
 .../kamelets/rest-openapi-sink.kamelet.yaml        | 22 +++++++++++++++++++++-
 3 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc 
b/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc
index cd9189308..6d7bf8ba7 100644
--- a/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc
+++ b/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc
@@ -12,9 +12,13 @@ Uses OpenAPI specifications to understand API endpoints, 
request/response format
 
 Supports various HTTP operations (GET, POST, PUT, DELETE, etc.) as defined in 
the OpenAPI specification, providing comprehensive REST API integration 
capabilities.
 
+=== Host and Base Path Configuration
+
+The host and base path for the REST service can be configured to override the 
default values found in the OpenAPI specification. This is useful for 
production environments where the specification may contain default values like 
localhost:8080 that need to be replaced with the actual service endpoint.
+
 === Schema Validation
 
-OpenAPI specifications include schema definitions that can be used for request 
and response validation, ensuring data integrity and API compliance.
+OpenAPI specifications include schema definitions that can be used for request 
and response validation, ensuring data integrity and API compliance. Client 
request validation can be enabled to check if outgoing requests conform to the 
OpenAPI specification before they are sent.
 
 === Documentation-Driven Development
 
diff --git a/kamelets/rest-openapi-sink.kamelet.yaml 
b/kamelets/rest-openapi-sink.kamelet.yaml
index 6c11c8f93..b0054948a 100644
--- a/kamelets/rest-openapi-sink.kamelet.yaml
+++ b/kamelets/rest-openapi-sink.kamelet.yaml
@@ -46,6 +46,21 @@ spec:
         title: Operation ID
         description: The operation to call.
         type: string
+      host:
+        title: Host
+        description: The host to use for calling the REST service. Overrides 
the value found in the OpenAPI specification. The format is 
https://hostname:port.
+        type: string
+        example: "https://api.example.com:443";
+      basePath:
+        title: Base Path
+        description: The API base path. Overrides the value present in the 
OpenAPI specification.
+        type: string
+        example: "/v3"
+      clientRequestValidation:
+        title: Client Request Validation
+        description: Whether to enable validation of the client request to 
check if the incoming request is valid according to the OpenAPI specification.
+        type: boolean
+        default: false
   dependencies:
   - "camel:rest-openapi"
   - "camel:http"
@@ -55,4 +70,9 @@ spec:
     from:
       uri: kamelet:source
       steps:
-      - to: "rest-openapi:{{specification}}#{{operation}}"
+      - to:
+          uri: "rest-openapi:{{specification}}#{{operation}}"
+          parameters:
+            host: "{{?host}}"
+            basePath: "{{?basePath}}"
+            clientRequestValidation: "{{clientRequestValidation}}"
diff --git 
a/library/camel-kamelets/src/main/resources/kamelets/rest-openapi-sink.kamelet.yaml
 
b/library/camel-kamelets/src/main/resources/kamelets/rest-openapi-sink.kamelet.yaml
index 6c11c8f93..b0054948a 100644
--- 
a/library/camel-kamelets/src/main/resources/kamelets/rest-openapi-sink.kamelet.yaml
+++ 
b/library/camel-kamelets/src/main/resources/kamelets/rest-openapi-sink.kamelet.yaml
@@ -46,6 +46,21 @@ spec:
         title: Operation ID
         description: The operation to call.
         type: string
+      host:
+        title: Host
+        description: The host to use for calling the REST service. Overrides 
the value found in the OpenAPI specification. The format is 
https://hostname:port.
+        type: string
+        example: "https://api.example.com:443";
+      basePath:
+        title: Base Path
+        description: The API base path. Overrides the value present in the 
OpenAPI specification.
+        type: string
+        example: "/v3"
+      clientRequestValidation:
+        title: Client Request Validation
+        description: Whether to enable validation of the client request to 
check if the incoming request is valid according to the OpenAPI specification.
+        type: boolean
+        default: false
   dependencies:
   - "camel:rest-openapi"
   - "camel:http"
@@ -55,4 +70,9 @@ spec:
     from:
       uri: kamelet:source
       steps:
-      - to: "rest-openapi:{{specification}}#{{operation}}"
+      - to:
+          uri: "rest-openapi:{{specification}}#{{operation}}"
+          parameters:
+            host: "{{?host}}"
+            basePath: "{{?basePath}}"
+            clientRequestValidation: "{{clientRequestValidation}}"

Reply via email to