| <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>REST OpenApi :: Apache Camel</title> <link rel="canonical" href="https://camel.apache.org/camel-quarkus/3.20.x/reference/extensions/rest-openapi.html"> <meta name="generator" content="Antora 3.1.7"> <link rel="stylesheet" href="../../../../_/css/site-2955eb42a8.css"> <meta name="application-name" content="Apache Camel"> <meta property="og:title" content="REST OpenApi"> <meta property="og:site_name" content="Apache Camel"> <meta property="og:url" content="https://camel.apache.org"> <meta property="og:description" content="Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data."> <meta property="og:type" content="website"> <meta property="og:image" content="https://camel.apache.org/_/img/logo-d-a567cee6fa.svg"> <link rel="manifest" href="../../../../site.webmanifest"> <link rel="apple-touch-icon-precomposed" sizes="57x57" href="../../../../apple-touch-icon-57x57.png"> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../../../apple-touch-icon-114x114.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../../../apple-touch-icon-72x72.png"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../../../apple-touch-icon-144x144.png"> <link rel="apple-touch-icon-precomposed" sizes="60x60" href="../../../../apple-touch-icon-60x60.png"> <link rel="apple-touch-icon-precomposed" sizes="120x120" href="../../../../apple-touch-icon-120x120.png"> <link rel="apple-touch-icon-precomposed" sizes="76x76" href="../../../../apple-touch-icon-76x76.png"> <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../../../apple-touch-icon-152x152.png"> <link rel="icon" type="image/png" href="../../../../favicon-196x196.png" sizes="196x196"> <link rel="icon" type="image/png" href="../../../../favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="../../../../favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="../../../../favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="../../../../favicon-128.png" sizes="128x128"> </head> <body class="article"> <header class="header"> <nav class="navbar" aria-label="Main menu"> <div class="navbar-brand"> <a class="nav-logo" href="../../../.."></a> <div id="topbar-nav" class="navbar-menu"> <div class="navbar-end"> <a class="navbar-item-section navbar-item navbar-topics" href="../../../../blog/"> <img alt="Blog" src="/_/img/blog-4c7fa4cb60.svg"> Blog </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../../docs/"> <img alt="Documentation" src="/_/img/documentation-abb1b7f8b1.svg"> Documentation </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../../community/"> <img alt="Community" src="/_/img/community-2ec8a3dc8b.svg"> Community </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../../download/"> <img alt="Download" src="/_/img/download-63cdd75074.svg"> Download </a> <a class="navbar-item-section navbar-item navbar-topics" href="../../../../security/"> <img alt="Security" src="/_/img/security-06abe157b3.svg"> Security </a> </div> </div> <div class="navbar-fill"></div> <div class="break-row"></div> <div class="navbar-search results-hidden"> <input id="search" class="search" placeholder="Search" autocomplete="off"> <img src="../../../../_/img/cancel-1ed239489b.svg" alt="Clear" id="search-cancel"> <div id="search_results"></div> </div> <div class="navbar-tools"> <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg focusable="false" class="brand-icon"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#github"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://camel.zulipchat.com" title="Chat on Zulip"><svg focusable="false" class="brand-icon"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#zulip"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg focusable="false" class="brand-icon"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#twitter"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://www.linkedin.com/groups/2447439/" title="Apache Camel group on Linkedin"><svg focusable="false" class="brand-icon"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#linkedin"/></svg></a> </div> <button class="navbar-burger" data-target="topbar-nav" type="button" aria-label="Menu"> <span></span> <span></span> <span></span> </button> </div> </nav> </header> <a id="top"></a> <div class="body"> <div class="nav-container" data-component="camel-quarkus" data-version="next"> <aside class="nav" aria-label="Side menu"> <div class="panels"> <div class="nav-panel-menu is-active"> <nav class="nav-menu" data-panel="menu" aria-label="Topics"> <h3 class="title"><a href="../../index.html">Camel Quarkus</a></h3> <ul class="nav-list"> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../../user-guide/index.html">User guide</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/first-steps.html">First steps</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/dependency-management.html">Dependency management</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/defining-camel-routes.html">Defining routes</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/configuration.html">Configuration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/cdi.html">CDI</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/observability.html">Observability</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/messaging.html">Messaging</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/native-mode.html">Native mode</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/command-mode.html">Command mode</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/testing.html">Testing</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/examples.html">Examples</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../user-guide/kubernetes.html">Kubernetes</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../../migration-guide/index.html">Migration guide</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../migration-guide/2.0.0.html">Camel Quarkus 2.0.0 migration guide</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../migration-guide/3.2.0.html">Camel Quarkus 3.2.0 migration guide</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../../contributor-guide/index.html">Contributor guide</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/create-new-extension.html">Create new extension</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/promote-jvm-to-native.html">Promote JVM extension to Native</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/create-jvm-only-extension.html">Create JVM-only extension</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/extension-metadata.html">Extension metadata</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/extension-documentation.html">Extension documentation</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/extension-testing.html">Testing extensions</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/create-new-example.html">Create new example</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/create-new-dev-ui-page.html">Create new Dev UI page</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/ci.html">Continuous Integration</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../../contributor-guide/release-guide.html">Release guide</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../index.html">Reference</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle" type="button" aria-label="Expand or contract topic"></button> <a class="nav-link" href="../index.html">Extensions</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="amqp.html">AMQP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="as2.html">AS2</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="asn1.html">ASN.1 File</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-athena.html">AWS 2 Athena</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-cw.html">AWS 2 CloudWatch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ddb.html">AWS 2 DynamoDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ec2.html">AWS 2 Elastic Compute Cloud (EC2)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ecs.html">AWS 2 Elastic Container Service (ECS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-eks.html">AWS 2 Elastic Kubernetes Service (EKS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-eventbridge.html">AWS 2 Eventbridge</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-iam.html">AWS 2 Identity and Access Management (IAM)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-kms.html">AWS 2 Key Management Service (KMS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-kinesis.html">AWS 2 Kinesis</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-lambda.html">AWS 2 Lambda</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-mq.html">AWS 2 MQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-msk.html">AWS 2 Managed Streaming for Apache Kafka (MSK)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-s3.html">AWS 2 S3 Storage Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-sts.html">AWS 2 Security Token Service (STS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-ses.html">AWS 2 Simple Email Service (SES)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-sns.html">AWS 2 Simple Notification System (SNS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-sqs.html">AWS 2 Simple Queue Service (SQS)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws2-translate.html">AWS 2 Translate</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-bedrock.html">AWS Bedrock</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-secrets-manager.html">AWS Secrets Manager</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="aws-xray.html">AWS XRay</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="activemq.html">ActiveMQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="arangodb.html">ArangoDb</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="asterisk.html">Asterisk</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="atom.html">Atom</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="attachments.html">Attachments</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="avro.html">Avro</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jackson-avro.html">Avro Jackson</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-cosmosdb.html">Azure CosmosDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-eventhubs.html">Azure Event Hubs</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-files.html">Azure Files</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-key-vault.html">Azure Key Vault</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-servicebus.html">Azure ServiceBus</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-storage-blob.html">Azure Storage Blob Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-storage-queue.html">Azure Storage Queue Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="azure-storage-datalake.html">Azure storage datalake service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="barcode.html">Barcode</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="base64.html">Base64</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="bean.html">Bean</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="bean-validator.html">Bean Validator</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="beanio.html">BeanIO</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="bindy.html">Bindy</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="bonita.html">Bonita</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="box.html">Box</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="braintree.html">Braintree</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="browse.html">Browse</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cbor.html">CBOR</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cli-connector.html">CLI Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cm-sms.html">CM SMS Gateway</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="csv.html">CSV</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="csimple.html">CSimple</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cxf-soap.html">CXF</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="caffeine.html">Caffeine Cache</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cassandraql.html">Cassandra CQL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="chatscript.html">ChatScript</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="chunk.html">Chunk</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="core-cloud.html">Cloud</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cloudevents.html">Cloudevents</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="coap.html">CoAP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cometd.html">CometD</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="console.html">Console</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="consul.html">Consul</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="controlbus.html">Control Bus</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="core.html">Core</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="couchdb.html">CouchDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="couchbase.html">Couchbase</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="cron.html">Cron</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="crypto.html">Crypto (JCE)</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="dfdl.html">DFDL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="dns.html">DNS</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="dsl-modeline.html">DSL Modeline</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="dataformat.html">Data Format</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="datasonnet.html">DataSonnet</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="dataset.html">Dataset</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-mongodb.html">Debezium MongoDB Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-mysql.html">Debezium MySQL Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-oracle.html">Debezium Oracle Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-postgres.html">Debezium PostgresSQL Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debezium-sqlserver.html">Debezium SQL Server Connector</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="debug.html">Debug</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="djl.html">Deep Java Library</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="digitalocean.html">DigitalOcean</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="direct.html">Direct</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="disruptor.html">Disruptor</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="drill.html">Drill</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="dropbox.html">Dropbox</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ehcache.html">Ehcache</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="elasticsearch.html">Elasticsearch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="elasticsearch-rest-client.html">Elasticsearch Low level Rest Client</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="exec.html">Exec</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="fhir.html">FHIR</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="fop.html">FOP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ftp.html">FTP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="file.html">File</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="file-cluster-service.html">File Cluster Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="file-watch.html">File Watch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="flatpack.html">Flatpack</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="flink.html">Flink</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="fory.html">Fory</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="freemarker.html">Freemarker</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="geocoder.html">Geocoder</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="git.html">Git</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="github.html">GitHub</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-bigquery.html">Google BigQuery</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-calendar.html">Google Calendar</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-drive.html">Google Drive</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-mail.html">Google Mail</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-pubsub.html">Google Pubsub</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-secret-manager.html">Google Secret Manager</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-sheets.html">Google Sheets</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-storage.html">Google Storage</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="google-functions.html">GoogleCloudFunctions</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="graphql.html">GraphQL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="grok.html">Grok</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="groovy.html">Groovy</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="gson.html">Gson</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="guava-eventbus.html">Guava EventBus</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hl7.html">HL7</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="http.html">HTTP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hashicorp-vault.html">Hashicorp Vault</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="hazelcast.html">Hazelcast Atomic Number</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="headersmap.html">Headersmap</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ibm-secrets-manager.html">IBM Secrets Manager</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="iec60870.html">IEC 60870 Client</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="irc.html">IRC</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ignite.html">Ignite Cache</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="infinispan.html">Infinispan</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="influxdb.html">InfluxDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jaxb.html">JAXB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jcr.html">JCR</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jcache.html">JCache</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jdbc.html">JDBC</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jgroups.html">JGroups</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jgroups-raft.html">JGroups raft</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jms.html">JMS</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jolt.html">JOLT</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jooq.html">JOOQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jpa.html">JPA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jq.html">JQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jslt.html">JSLT</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="fastjson.html">JSON Fastjson</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jsonpath.html">JSON Path</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="json-validator.html">JSON Schema Validator</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jsonb.html">JSON-B</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jsonata.html">JSONATA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jsonapi.html">JSonApi</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jt400.html">JT400</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jta.html">JTA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jackson.html">Jackson</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jacksonxml.html">JacksonXML</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jasypt.html">Jasypt</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="java-joor-dsl.html">Java jOOR DSL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="javascript.html">JavaScript</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jfr.html">Jfr</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jira.html">Jira</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jolokia.html">Jolokia</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="json-patch.html">JsonPatch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kafka.html">Kafka</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kamelet.html">Kamelet</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="knative.html">Knative</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="knative-consumer.html">Knative Consumer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="knative-producer.html">Knative Producer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes.html">Kubernetes</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kubernetes-cluster-service.html">Kubernetes Cluster Service</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="kudu.html">Kudu</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ldap.html">LDAP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ldif.html">LDIF</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="lra.html">LRA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="lzf.html">LZF Deflate Compression</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-embeddings.html">LangChain4j Embeddings</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-tokenizer.html">LangChain4j Tokenizer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-tools.html">LangChain4j Tools</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-web-search.html">LangChain4j Web Search</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="language.html">Language</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="leveldb.html">LevelDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="log.html">Log</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="lucene.html">Lucene</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="lumberjack.html">Lumberjack</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mllp.html">MLLP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mvel.html">MVEL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mail.html">Mail</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mail-microsoft-oauth.html">Mail Microsoft Oauth</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="management.html">Management</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mapstruct.html">MapStruct</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="master.html">Master</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="microprofile-health.html">MicroProfile Health</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="micrometer.html">Micrometer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="microprofile-fault-tolerance.html">Microprofile Fault Tolerance</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="milvus.html">Milvus</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="minio.html">Minio</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mock.html">Mock</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mongodb.html">MongoDB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mongodb-gridfs.html">MongoDB GridFS</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mustache.html">Mustache</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="mybatis.html">MyBatis</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="nats.html">Nats</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="netty.html">Netty</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="netty-http.html">Netty HTTP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="nitrite.html">Nitrite</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="oaipmh.html">OAI-PMH</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ognl.html">OGNL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="observability-services.html">Observability Services</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="olingo4.html">Olingo4</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openapi-java.html">OpenAPI Java</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="opensearch.html">OpenSearch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="openstack.html">OpenStack</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="opentelemetry.html">OpenTelemetry</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="opentelemetry2.html">Opentelemetry2</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="optaplanner.html">OptaPlanner</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pdf.html">PDF</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="crypto-pgp.html">PGP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pqc.html">PQC Algorithms</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="paho.html">Paho</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="paho-mqtt5.html">Paho MQTT5</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pinecone.html">Pinecone</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="platform-http.html">Platform HTTP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pgevent.html">PostgresSQL Event</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pg-replication-slot.html">PostgresSQL Replication Slot</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="printer.html">Printer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="protobuf.html">Protobuf</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jackson-protobuf.html">Protobuf Jackson</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pubnub.html">PubNub</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="pulsar.html">Pulsar</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="python.html">Python</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="qdrant.html">Qdrant</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="quartz.html">Quartz</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="quickfix.html">QuickFix</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="qute.html">Qute</a> </li> <li class="nav-item is-current-page" data-depth="3"> <a class="nav-link" href="rest-openapi.html">REST OpenApi</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="rss.html">RSS</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="reactive-executor.html">Reactive Executor</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="reactive-streams.html">Reactive Streams</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="redis.html">Redis</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ref.html">Ref</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="rest.html">Rest</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="robotframework.html">Robot Framework</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="sap-netweaver.html">SAP NetWeaver</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="jsch.html">SCP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="seda.html">SEDA</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="smb.html">SMB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="smpp.html">SMPP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="snmp.html">SNMP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="soap.html">SOAP dataformat</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="sql.html">SQL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ssh.html">SSH</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="swift.html">SWIFT</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="saga.html">Saga</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="salesforce.html">Salesforce</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="scheduler.html">Scheduler</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="schematron.html">Schematron</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="servicenow.html">ServiceNow</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="servlet.html">Servlet</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="shiro.html">Shiro</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="sjms.html">Simple JMS</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="sjms2.html">Simple JMS2</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="huaweicloud-smn.html">SimpleNotification</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="slack.html">Slack</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="smallrye-reactive-messaging.html">SmallRye Reactive Messaging</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="smooks.html">Smooks</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="snakeyaml.html">SnakeYAML</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="solr.html">Solr</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="splunk.html">Splunk</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="splunk-hec.html">Splunk HEC</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-rabbitmq.html">Spring RabbitMQ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="spring-redis.html">Spring Redis</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="stax.html">StAX</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="stitch.html">Stitch</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="stomp.html">Stomp</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="stream.html">Stream</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="stringtemplate.html">String Template</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="stub.html">Stub</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="syslog.html">Syslog</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="tarfile.html">Tar File</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="telegram.html">Telegram</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="telemetry-dev.html">Telemetry Dev</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="threadpoolfactory-vertx.html">ThreadPoolFactory Vert.x</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="thrift.html">Thrift</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="tika.html">Tika</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="timer.html">Timer</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="twilio.html">Twilio</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="twitter.html">Twitter</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="validator.html">Validator</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="velocity.html">Velocity</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="vertx.html">Vert.x</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="vertx-http.html">Vert.x HTTP Client</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="vertx-websocket.html">Vert.x WebSocket</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="wasm.html">Wasm</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="weather.html">Weather</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="web3j.html">Web3j Ethereum Blockchain</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="wordpress.html">Wordpress</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="workday.html">Workday</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xchange.html">XChange</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xj.html">XJ</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xml-io-dsl.html">XML IO DSL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xml-jaxb.html">XML JAXB</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xml-jaxp.html">XML JAXP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xmlsecurity.html">XML Security Sign</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xmpp.html">XMPP</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xpath.html">XPath</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="saxon.html">XQuery</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xslt.html">XSLT</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="xslt-saxon.html">XSLT Saxon</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="yaml-dsl.html">YAML DSL</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="yaml-io.html">YAML IO</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="zendesk.html">Zendesk</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="zip-deflater.html">Zip Deflate Compression</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="zipfile.html">Zip File</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="zookeeper.html">ZooKeeper</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="zookeeper-master.html">ZooKeeper Master</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="grpc.html">gRPC</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="ical.html">iCal</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="joor.html">jOOR</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j.html">langChain4j</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="langchain4j-chat.html">langChain4j Chat</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="univocity-parsers.html">uniVocity CSV</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="weaviate.html">weaviate</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../components.html">Components</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../dataformats.html">Data formats</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../languages.html">Languages</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="../others.html">Miscellaneous components</a> </li> </ul> </li> </ul> </li> </ul> </nav> </div> <div class="nav-panel-explore" data-panel="explore"> <div class="context"> <span class="title">Camel Quarkus</span> <span class="version">Next (Pre-release)</span> </div> <ul class="components"> <li class="component"> <span class="title"> <a href="../../../../manual/index.html">User manual</a> </span></li> <li class="component"><span class="title">Camel Components</span> <ul class="versions"> <li class="version"> <a href="../../../../components/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../../components/4.10.x/index.html">4.10.x (LTS)</a> </li> <li class="version"> <a href="../../../../components/4.8.x/index.html">4.8.x (LTS)</a> </li> <li class="version"> <a href="../../../../components/3.22.x/index.html">3.22.x (LTS)</a> </li> </ul></li> <li class="component"> <span class="title"> <a href="../../../../camel-core/index.html">Camel Core</a> </span></li> <li class="component"><span class="title">Camel K</span> <ul class="versions"> <li class="version"> <a href="../../../../camel-k/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../../camel-k/2.7.x/index.html">2.7.x (LTS)</a> </li> <li class="version"> <a href="../../../../camel-k/2.5.x/index.html">2.5.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Kafka Connector</span> <ul class="versions"> <li class="version"> <a href="../../../../camel-kafka-connector/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../../camel-kafka-connector/4.10.x/index.html">4.10.x</a> </li> </ul></li> <li class="component"><span class="title">Kamelet Catalog</span> <ul class="versions"> <li class="version"> <a href="../../../../camel-kamelets/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../../camel-kamelets/4.10.x/index.html">4.10.x (LTS)</a> </li> <li class="version"> <a href="../../../../camel-kamelets/4.8.x/index.html">4.8.x (LTS)</a> </li> </ul></li> <li class="component"><span class="title">Camel Karaf</span> <ul class="versions"> <li class="version"> <a href="../../../../camel-karaf/4.9.x/index.html">4.9.x</a> </li> <li class="version"> <a href="../../../../camel-karaf/4.8.x/index.html">4.8.x</a> </li> <li class="version"> <a href="../../../../camel-karaf/3.22.x/index.html">3.22.x (LTS)</a> </li> </ul></li> <li class="component is-current"><span class="title">Camel Quarkus</span> <ul class="versions"> <li class="version is-current"> <a href="../../index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../3.20.x/index.html">3.20.x</a> </li> <li class="version"> <a href="../../../3.15.x/index.html">3.15.x</a> </li> </ul></li> <li class="component"><span class="title">Camel Spring Boot</span> <ul class="versions"> <li class="version"> <a href="../../../../camel-spring-boot/next/index.html">Next (Pre-release)</a> </li> <li class="version"> <a href="../../../../camel-spring-boot/4.10.x/index.html">4.10.x (LTS)</a> </li> <li class="version"> <a href="../../../../camel-spring-boot/4.8.x/index.html">4.8.x (LTS)</a> </li> <li class="version"> <a href="../../../../camel-spring-boot/3.22.x/index.html">3.22.x (LTS)</a> </li> </ul></li> </ul> </div> </div> </aside> </div> <main class="article"> <nav class="toolbar" aria-label="Toolbar"> <button class="nav-toggle" type="button" aria-label="Toggle submenu"></button> <nav class="breadcrumbs" aria-label="breadcrumbs"> <ul> <li><a href="../../index.html">Camel Quarkus</a></li> <li><a href="../index.html">Reference</a></li> <li><a href="../index.html">Extensions</a></li> <li><a href="rest-openapi.html">REST OpenApi</a></li> </ul> </nav> <div class="page-versions"> <button class="version-menu-toggle" type="button" title="Show other versions of page">Next (Pre-release)</button> <div class="version-menu"> <a class="version is-current" href="rest-openapi.html">Next (Pre-release)</a> <a class="version" href="../../../3.20.x/reference/extensions/rest-openapi.html">3.20.x</a> <a class="version" href="../../../3.15.x/reference/extensions/rest-openapi.html">3.15.x</a> </div> </div> <div class="edit-this-page"><a href="https://github.com/apache/camel-quarkus/edit/main/docs/modules/ROOT/pages/reference/extensions/rest-openapi.adoc">Edit this Page</a></div> </nav> <div class="content"> <article class="doc"> <h1 class="page">REST OpenApi</h1> <div id="preamble"> <div class="sectionbody"> <div class="paragraph badges"> <p><span class="badge-key">JVM since</span><span class="badge-supported">1.0.0</span> <span class="badge-key">Native since</span><span class="badge-supported">1.0.0</span></p> </div> <div class="paragraph"> <p>To call REST services using OpenAPI specification as contract.</p> </div> </div> </div> <div class="sect1"> <h2 id="extensions-rest-openapi-whats-inside"><a class="anchor" href="#extensions-rest-openapi-whats-inside"></a>What’s inside</h2> <div class="sectionbody"> <div class="ulist"> <ul> <li> <p><a href="../../../../components/next/rest-openapi-component.html" class="xref page">REST OpenApi component</a>, URI syntax: <code>rest-openapi:specificationUri#operationId</code></p> </li> </ul> </div> <div class="paragraph"> <p>Please refer to the above link for usage and configuration details.</p> </div> </div> </div> <div class="sect1"> <h2 id="extensions-rest-openapi-maven-coordinates"><a class="anchor" href="#extensions-rest-openapi-maven-coordinates"></a>Maven coordinates</h2> <div class="sectionbody"> <div class="paragraph"> <p><a href="https://code.quarkus.io/?extension-search=camel-quarkus-rest-openapi" target="_blank" rel="noopener">Create a new project with this extension on code.quarkus.io</a></p> </div> <div class="paragraph"> <p>Or add the coordinates to your existing project:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-rest-openapi</artifactId> |
| </dependency></code></pre> </div> </div> <div class="paragraph"> <p>Check the <a href="../../user-guide/index.html" class="xref page">User guide</a> for more information about writing Camel Quarkus applications.</p> </div> </div> </div> <div class="sect1"> <h2 id="extensions-rest-openapi-usage"><a class="anchor" href="#extensions-rest-openapi-usage"></a>Usage</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="extensions-rest-openapi-usage-required-dependencies"><a class="anchor" href="#extensions-rest-openapi-usage-required-dependencies"></a>Required Dependencies</h3> <div class="paragraph"> <p>A <code>RestProducerFactory</code> implementation must be available when using the rest-openapi extension. The currently known extensions are:</p> </div> <div class="ulist"> <ul> <li> <p>camel-quarkus-http</p> </li> <li> <p>camel-quarkus-netty-http</p> </li> </ul> </div> <div class="paragraph"> <p>Maven users will need to add one of these dependencies to their <code>pom.xml</code>, for example:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-http</artifactId> |
| </dependency></code></pre> </div> </div> <div class="paragraph"> <p>Depending on which mechanism is used to load the OpenApi specification, additional dependencies may be required. When using the <code>file</code> resource locator, the <code>org.apache.camel.quarkus:camel-quarkus-file</code> extension must be added as a project dependency. When using <code>ref</code> or <code>bean</code> to load the specification, not only must the <code>org.apache.camel.quarkus:camel-quarkus-bean</code> dependency be added, but the bean itself must be annotated with <code>@RegisterForReflection</code>.</p> </div> <div class="paragraph"> <p>When using the <code>classpath</code> resource locator with native code, the path to the OpenAPI specification must be specified in the <code>quarkus.native.resources.includes</code> property of the <code>application.properties</code> file. For example:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-none hljs">quarkus.native.resources.includes=openapi.json</code></pre> </div> </div> </div> <div class="sect2"> <h3 id="extensions-rest-openapi-usage-contract-first-development"><a class="anchor" href="#extensions-rest-openapi-usage-contract-first-development"></a>Contract First Development</h3> <div class="paragraph"> <p>Model class generation has been integrated into the <code>quarkus-maven-plugin</code>. So there’s no need to use the <code>swagger-codegen-maven-plugin</code>. Instead, put your contract files in <code>src/main/openapi</code> with a <code>.json</code> or <code>.yaml</code> suffix then ensure the <code>generate-code</code> goal is configured on the <code>quarkus-maven-plugin</code>:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><plugin> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate-code</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin></code></pre> </div> </div> <div class="paragraph"> <p>You can customize the package name of the generated classes by adding configuration property <code>quarkus.camel.openapi.codegen.model-package</code> to <code>application.properties</code> file.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-properties hljs" data-lang="properties">quarkus.camel.openapi.codegen.model-package=org.acme</code></pre> </div> </div> <div class="paragraph"> <p>In addition, you should also add this package to configuration property <code>camel.rest.bindingPackageScan</code>.</p> </div> <div class="paragraph"> <p>The contract files in <code>src/main/openapi</code> need to be added in the classpath, since they could be used in the Camel Rest DSL. For example, to do this with Maven:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><build> |
| <resources> |
| <resource> |
| <directory>src/main/openapi</directory> |
| </resource> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| </resources> |
| </build></code></pre> </div> </div> <div class="paragraph"> <p>When running in the native mode, the contract files must be added to the native image via the <code>quarkus.native.resources.include</code> configuration property.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-properties hljs" data-lang="properties">quarkus.native.resources.includes=contract.json</code></pre> </div> </div> <div class="admonitionblock important"> <div class="table-wrapper"><table> <tr> <td class="icon"> <i class="fa icon-important" title="Important"></i> </td> <td class="content"> <div class="paragraph"> <p>It’s recommended to configure a base path under which your REST service endpoints will be accessible.</p> </div> <div class="paragraph"> <p>Using the default path <code>/</code> can result in other HTTP endpoints already hosted under that path being inaccessible.</p> </div> <div class="paragraph"> <p>To set a base path, do any one of the following.</p> </div> <div class="ulist"> <ul> <li> <p>Add <a href="https://swagger.io/docs/specification/v3_0/api-host-and-base-path/">servers configuration</a> into your OpenAPI spec file.</p> </li> <li> <p>Add configuration to <code>application.properties</code> like <code>camel.component.rest-openapi.basePath=/api/v1</code>.</p> </li> <li> <p>Set a context path on the REST DSL configuration like <code>restConfiguration().contextPath("/api/v1")</code>.</p> </li> </ul> </div> </td> </tr> </table></div> </div> </div> </div> </div> <div class="sect1"> <h2 id="extensions-rest-openapi-additional-camel-quarkus-configuration"><a class="anchor" href="#extensions-rest-openapi-additional-camel-quarkus-configuration"></a>Additional Camel Quarkus configuration</h2> <div class="sectionbody"> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Configuration property</th> <th class="tableblock halign-left valign-top">Type</th> <th class="tableblock halign-left valign-top">Default</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-enabled"></a><code><a href="#quarkus-camel-openapi-codegen-enabled">quarkus.camel.openapi.codegen.enabled</a></code></p> </div> <div class="paragraph"> <p>If <code>true</code>, Camel Quarkus OpenAPI code generation is run for .json and .yaml files discovered from the <code>openapi</code> directory. When <code>false</code>, code generation for .json and .yaml files is disabled.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-model-package"></a><code><a href="#quarkus-camel-openapi-codegen-model-package">quarkus.camel.openapi.codegen.model-package</a></code></p> </div> <div class="paragraph"> <p>The package to use for generated model classes.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>string</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.apache.camel.quarkus</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-models"></a><code><a href="#quarkus-camel-openapi-codegen-models">quarkus.camel.openapi.codegen.models</a></code></p> </div> <div class="paragraph"> <p>A comma separated list of models to generate. The default is empty list for all models.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>string</code></p></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-use-bean-validation"></a><code><a href="#quarkus-camel-openapi-codegen-use-bean-validation">quarkus.camel.openapi.codegen.use-bean-validation</a></code></p> </div> <div class="paragraph"> <p>If <code>true</code>, use bean validation annotations in the generated model classes.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-not-null-jackson"></a><code><a href="#quarkus-camel-openapi-codegen-not-null-jackson">quarkus.camel.openapi.codegen.not-null-jackson</a></code></p> </div> <div class="paragraph"> <p>If <code>true</code>, use NON_NULL Jackson annotation in the generated model classes.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-ignore-unknown-properties"></a><code><a href="#quarkus-camel-openapi-codegen-ignore-unknown-properties">quarkus.camel.openapi.codegen.ignore-unknown-properties</a></code></p> </div> <div class="paragraph"> <p>If <code>true</code>, use JsonIgnoreProperties(ignoreUnknown = true) annotation in the generated model classes.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-additional-properties-additional-properties"></a><code><a href="#quarkus-camel-openapi-codegen-additional-properties-additional-properties">quarkus.camel.openapi.codegen.additional-properties."additional-properties"</a></code></p> </div> <div class="paragraph"> <p>Additional properties to be used in the mustache templates.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Map<String,String></code></p></td> <td class="tableblock halign-left valign-top"></td> </tr> <tr> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-camel-openapi-codegen-locations"></a><code><a href="#quarkus-camel-openapi-codegen-locations">quarkus.camel.openapi.codegen.locations</a></code></p> </div> <div class="paragraph"> <p>A comma separated list of OpenAPI spec locations.</p> </div></div></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>string</code></p></td> <td class="tableblock halign-left valign-top"></td> </tr> </tbody> </table></div> <div class="paragraph configuration-legend"> <p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> Configuration property fixed at build time. All other configuration properties are overridable at runtime.</p> </div> </div> </div> </article> <aside class="toc sidebar" aria-label="Table of contents" data-title="Contents" data-levels="2"> <div class="toc-menu"></div> </aside> </div> </main> </div> <div class="footer-tools"> <a href="#top" title="Reach the top of the page">Back to top</a> </div> <footer> <div class="footer"> <figure class="logo"> <img src="../../../../_/img/logo-d-a567cee6fa.svg" class="logo-small mt-60" alt="Apache Camel Logo" aria-label="white silhouette of a camel in front of a sand dune"> </figure> <input id="footer-toggle-overview" type="checkbox" title="Show/Hide Overview section"> <dl> <dt><label for="footer-toggle-overview">Overview</label><label for="footer-toggle-overview">+</label></dt> <dd><a href="../../../../blog/">Blog</a></dd> <dd><a href="../../../../docs/">Documentation</a></dd> <dd><a href="../../../../community/support/">Community</a></dd> <dd><a href="../../../../download/">Download</a></dd> </dl> <input id="footer-toggle-documentation" type="checkbox" title="Show/Hide Documentation section"> <dl> <dt><label for="footer-toggle-documentation">Documentation</label><label for="footer-toggle-documentation">+</label></dt> <dd><a href="../../../../manual/">User Manual</a></dd> <dd><a href="../../../../components/next/index.html">Components</a></dd> <dd><a href="../../../../camel-k/next/">Camel-K</a></dd> <dd><a href="../../../../camel-kafka-connector/next/">Camel Kafka Connector</a></dd> <dd><a href="../../../../camel-quarkus/next/">Camel Quarkus</a></dd> <dd><a href="../../../../camel-spring-boot/next/">Camel Spring Boot</a></dd> <dd><a href="../../../../camel-karaf/3.22.x/">Camel Karaf</a></dd> <dd><a href="../../../../manual/faq/index.html">FAQ</a></dd> </dl> <input id="footer-toggle-community" type="checkbox" title="Show/Hide Community section"> <dl> <dt><label for="footer-toggle-community">Community</label><label for="footer-toggle-community">+</label></dt> <dd><a href="../../../../community/support/">Support</a></dd> <dd><a href="../../../../community/contributing/">Contributing</a></dd> <dd><a href="../../../../community/mailing-list/">Mailing Lists</a></dd> <dd><a href="../../../../community/user-stories/">User stories</a></dd> <dd><a href="../../../../community/articles/">Articles</a></dd> <dd><a href="../../../../community/books/">Books</a></dd> <dd><a href="../../../../community/team/">Team</a></dd> </dl> <input id="footer-toggle-about" type="checkbox" title="Show/Hide Acknowledgements section"> <dl> <dt><label for="footer-toggle-about">About</label><label for="footer-toggle-about">+</label></dt> <dd><a href="../../../../acknowledgments/">Acknowledgments</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/licenses/" title="License">License</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/security/" title="Security">Security</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></dd> <dd><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></dd> </dl> <p class="remark"> © 2004-2025 The <a href="https://apache.org">Apache Software Foundation</a>.<br> Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. </p> <div class="resources"> <div class="context"> <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a> </div> <div class="context"> <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a> </div> <div class="context"> <a href="../../../../sitemap/">Sitemap</a> </div> </div> <div class="footer-icons"> <a rel="noopener noreferrer nofollow" href="https://github.com/apache/camel/" title="Collaborate on GitHub"><svg class="brand-icon" focusable="false"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#github"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://camel.zulipchat.com" title="Chat on Zulip"><svg class="brand-icon" focusable="false"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#zulip"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://twitter.com/ApacheCamel" title="Follow Apache Camel on Twitter"><svg class="brand-icon" focusable="false"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#twitter"/></svg></a> <a rel="noopener noreferrer nofollow" href="https://www.linkedin.com/groups/2447439/" title="Apache Camel group on Linkedin"><svg class="brand-icon" focusable="false"><use xlink:href="../../../../_/img/brand-logos-f2e689f4d4.svg#linkedin"/></svg></a> </div> </div> </footer> <script src="../../../../_/js/vendor/algoliasearch-bad45193e2.js"></script> <script src="../../../../_/js/site-c215fb6972.js"></script> <script async src="../../../../_/js/vendor/highlight-621a10fe1b.js"></script> <script async src="../../../../_/js/vendor/svg4everybody-a0c573f2b9.js"></script> <script async src="../../../../_/js/vendor/tabs-5aea11bcf5.js" data-sync-storage-key="preferred-tab"></script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "Apache Camel", "url": "https://camel.apache.org", "sameAs": [ "https://twitter.com/ApacheCamel" ], "logo": "../../../../_/img/logo-d-a567cee6fa.svg", "description": "Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns. Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a Scala DSL." } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Apache Camel", "item": "https://camel.apache.org/" }, { "@type": "ListItem", "position": 2, "name": "Camel Quarkus", "item": "https://camel.apache.org/camel-quarkus/3.20.x/index.html" }, { "@type": "ListItem", "position": 3, "name": "Next (Pre-release)", "item": "https://camel.apache.org/camel-quarkus/next/index.html" }, { "@type": "ListItem", "position": 4, "name": "Reference", "item": "https://camel.apache.org/camel-quarkus/next/reference/index.html" }, { "@type": "ListItem", "position": 5, "name": "Extensions", "item": "https://camel.apache.org/camel-quarkus/next/reference/index.html" }, { "@type": "ListItem", "position": 6, "name": "REST OpenApi", "item": "https://camel.apache.org/camel-quarkus/next/reference/extensions/rest-openapi.html" }] } </script> </body> </html> |