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}}"
