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

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4ac0c311785d585ddebe6658ca111cb7d8fedcac
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun Feb 20 11:31:56 2022 +0100

    CAMEL-17673: camel-core-model - Cleanup Rest DSL
---
 .../apache/camel/openapi/RestOpenApiReader.java    |  7 ++--
 .../org/apache/camel/openapi/ComplexTypesTest.java |  2 +-
 ...RestOpenApiReaderEnableVendorExtensionTest.java |  4 ---
 .../openapi/V2SchemaForComplexTypesRequest.json    |  3 +-
 .../openapi/V2SchemaForComplexTypesResponse.json   |  3 +-
 .../openapi/V3SchemaForComplexTypesRequest.json    |  3 +-
 .../openapi/V3SchemaForComplexTypesResponse.json   |  3 +-
 .../camel/component/rest/DefaultRestRegistry.java  | 12 ++-----
 .../apache/camel/swagger/RestSwaggerReader.java    | 17 +++++----
 .../apache/camel/swagger/RestSwaggerSupport.java   |  4 +--
 .../camel/swagger/RestSwaggerArrayEnumTest.java    |  5 +--
 .../RestSwaggerReaderApiDocsOverrideTest.java      |  2 +-
 .../swagger/RestSwaggerReaderApiDocsTest.java      |  2 +-
 .../swagger/RestSwaggerReaderDayOfWeekTest.java    |  2 +-
 .../RestSwaggerReaderEmptyAllowableValuesTest.java |  2 +-
 ...RestSwaggerReaderEnableVendorExtensionTest.java |  4 +--
 .../RestSwaggerReaderFileResponseModelTest.java    |  2 +-
 .../RestSwaggerReaderModelApiSecurityTest.java     |  2 +-
 .../RestSwaggerReaderModelBookOrderTest.java       |  2 +-
 .../camel/swagger/RestSwaggerReaderModelTest.java  |  2 +-
 .../RestSwaggerReaderOverrideHostApiDocsTest.java  |  2 +-
 .../camel/swagger/RestSwaggerReaderTest.java       |  2 +-
 ...pringRestSwaggerReaderModelApiSecurityTest.java |  2 +-
 .../java/org/apache/camel/spi/RestRegistry.java    |  5 ---
 .../org/apache/camel/model/rest/delete.json        |  1 -
 .../resources/org/apache/camel/model/rest/get.json |  1 -
 .../org/apache/camel/model/rest/head.json          |  1 -
 .../org/apache/camel/model/rest/patch.json         |  1 -
 .../org/apache/camel/model/rest/post.json          |  1 -
 .../resources/org/apache/camel/model/rest/put.json |  1 -
 .../apache/camel/model/RouteDefinitionHelper.java  |  6 ----
 .../apache/camel/model/rest/VerbDefinition.java    | 13 -------
 .../management/mbean/ManagedRestRegistry.java      |  8 ++---
 .../java/org/apache/camel/xml/in/ModelParser.java  |  1 -
 .../generator/openapi/RestDslYamlGenerator.java    |  2 +-
 .../OpenApiPetstoreWithRestComponentXml.txt        | 40 +++++++++++-----------
 .../src/test/resources/OpenApiPetstoreXml.txt      | 40 +++++++++++-----------
 .../test/resources/OpenApiV3PetstoreSimpleXml.txt  |  2 +-
 .../test/resources/OpenApiV3PetstoreSimpleYaml.txt |  2 +-
 .../OpenApiV3PetstoreWithRestComponentXml.txt      | 40 +++++++++++-----------
 .../OpenApiV3PetstoreWithRestComponentYaml.txt     | 40 +++++++++++-----------
 .../src/test/resources/OpenApiV3PetstoreXml.txt    | 40 +++++++++++-----------
 .../src/test/resources/OpenApiV3PetstoreYaml.txt   | 40 +++++++++++-----------
 43 files changed, 163 insertions(+), 211 deletions(-)

diff --git 
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
 
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
index d9e0597..2c72993 100644
--- 
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
+++ 
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
@@ -81,6 +81,7 @@ import io.swagger.v3.oas.models.media.DateSchema;
 import io.swagger.v3.oas.models.media.DateTimeSchema;
 import io.swagger.v3.oas.models.media.PasswordSchema;
 import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestOperationParamDefinition;
 import org.apache.camel.model.rest.RestOperationResponseHeaderDefinition;
@@ -522,7 +523,6 @@ public class RestOpenApiReader {
                 op.tags.add(pathAsTag);
             }
 
-            final String routeId = getValue(camelContext, verb.getRouteId());
             // favour ids from verb, rest, route
             final String operationId;
             if (verb.getId() != null) {
@@ -530,7 +530,8 @@ public class RestOpenApiReader {
             } else if (rest.getId() != null) {
                 operationId = getValue(camelContext, rest.getId());
             } else {
-                operationId = routeId;
+                
verb.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
+                operationId = verb.getId();
             }
             op.operationId = operationId;
 
@@ -540,8 +541,6 @@ public class RestOpenApiReader {
             extension.value = camelContextId;
             op.addExtension(extension.name, extension);
             extension = op.createExtension();
-            extension.name = "x-routeId";
-            extension.value = routeId;
             op.addExtension(extension.name, extension);
             path = setPathOperation(path, op, method);
 
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
index e12f79f..29d4d4d 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/ComplexTypesTest.java
@@ -163,7 +163,7 @@ public class ComplexTypesTest extends CamelTestSupport {
         input = input.replaceAll("\"openapi\" : \"3\\..*\",", "\"openapi\" : 
\"3.x\",");
         input = input.replaceAll("\"swagger\" : \"2\\..*\",", "\"swagger\" : 
\"2.x\",");
         input = input.replaceAll("\"operationId\" : \"verb.*\",", 
"\"operationId\" : \"verb\",");
-        input = input.replaceAll("\"x-camelContextId\" : \"camel.*\",", 
"\"x-camelContextId\" : \"camel\",");
+        input = input.replaceAll("\"x-camelContextId\" : \"camel.*\"", 
"\"x-camelContextId\" : \"camel\"");
         return input;
     }
 }
diff --git 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
index e6d4449..b40d553 100644
--- 
a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
+++ 
b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderEnableVendorExtensionTest.java
@@ -97,14 +97,12 @@ public class RestOpenApiReaderEnableVendorExtensionTest 
extends CamelTestSupport
         log.info(json);
 
         String camelId = context.getName();
-        String routeId = context.getRouteDefinitions().get(0).getId();
 
         assertTrue(json.contains("\"host\" : \"localhost:8080\""));
         assertTrue(json.contains("\"description\" : \"The user returned\""));
         assertTrue(json.contains("\"$ref\" : \"#/definitions/User\""));
         assertFalse(json.contains("\"enum\""));
         assertTrue(json.contains("\"x-camelContextId\" : \"" + camelId + 
"\""));
-        assertTrue(json.contains("\"x-routeId\" : \"" + routeId + "\""));
         context.stop();
     }
 
@@ -133,14 +131,12 @@ public class RestOpenApiReaderEnableVendorExtensionTest 
extends CamelTestSupport
         log.info(json);
 
         String camelId = context.getName();
-        String routeId = context.getRouteDefinitions().get(0).getId();
 
         assertTrue(json.contains("\"url\" : \"http://localhost:8080/api\"";));
         assertTrue(json.contains("\"description\" : \"The user returned\""));
         assertTrue(json.contains("\"$ref\" : \"#/components/schemas/User\""));
         assertFalse(json.contains("\"enum\""));
         assertTrue(json.contains("\"x-camelContextId\" : \"" + camelId + 
"\""));
-        assertTrue(json.contains("\"x-routeId\" : \"" + routeId + "\""));
         context.stop();
     }
 }
diff --git 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesRequest.json
 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesRequest.json
index 92d0fa7..99276fa 100644
--- 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesRequest.json
+++ 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesRequest.json
@@ -26,8 +26,7 @@
         },
         "operationId" : "verb",
         "summary" : "Demo complex request type",
-        "x-camelContextId" : "camel",
-        "x-routeId" : "complex request type"
+        "x-camelContextId" : "camel"
       }
     }
   },
diff --git 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesResponse.json
 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesResponse.json
index 752686d..4193eab 100644
--- 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesResponse.json
+++ 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V2SchemaForComplexTypesResponse.json
@@ -26,8 +26,7 @@
         },
         "operationId" : "verb",
         "summary" : "Demo complex response type",
-        "x-camelContextId" : "camel",
-        "x-routeId" : "complex response type"
+        "x-camelContextId" : "camel"
       }
     }
   },
diff --git 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesRequest.json
 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesRequest.json
index 873d791..7abf174 100644
--- 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesRequest.json
+++ 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesRequest.json
@@ -31,8 +31,7 @@
         },
         "operationId" : "verb",
         "summary" : "Demo complex request type",
-        "x-camelContextId" : "camel",
-        "x-routeId" : "complex request type"
+        "x-camelContextId" : "camel"
       }
     }
   },
diff --git 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesResponse.json
 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesResponse.json
index c4c691e..88c81eb 100644
--- 
a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesResponse.json
+++ 
b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/V3SchemaForComplexTypesResponse.json
@@ -31,8 +31,7 @@
         },
         "operationId" : "verb",
         "summary" : "Demo complex response type",
-        "x-camelContextId" : "camel",
-        "x-routeId" : "complex response type"
+        "x-camelContextId" : "camel"
       }
     }
   },
diff --git 
a/components/camel-rest/src/main/java/org/apache/camel/component/rest/DefaultRestRegistry.java
 
b/components/camel-rest/src/main/java/org/apache/camel/component/rest/DefaultRestRegistry.java
index d564872..5efa6ef 100644
--- 
a/components/camel-rest/src/main/java/org/apache/camel/component/rest/DefaultRestRegistry.java
+++ 
b/components/camel-rest/src/main/java/org/apache/camel/component/rest/DefaultRestRegistry.java
@@ -51,8 +51,7 @@ public class DefaultRestRegistry extends ServiceSupport 
implements StaticService
             Consumer consumer, String url, String baseUrl, String basePath, 
String uriTemplate, String method,
             String consumes, String produces, String inType, String outType, 
String routeId, String description) {
         RestServiceEntry entry = new RestServiceEntry(
-                consumer, url, baseUrl, basePath, uriTemplate, method, 
consumes, produces, inType, outType, routeId,
-                description);
+                consumer, url, baseUrl, basePath, uriTemplate, method, 
consumes, produces, inType, outType, description);
         registry.put(consumer, entry);
     }
 
@@ -168,12 +167,11 @@ public class DefaultRestRegistry extends ServiceSupport 
implements StaticService
         private final String produces;
         private final String inType;
         private final String outType;
-        private final String routeId;
         private final String description;
 
         private RestServiceEntry(Consumer consumer, String url, String 
baseUrl, String basePath, String uriTemplate,
                                  String method,
-                                 String consumes, String produces, String 
inType, String outType, String routeId,
+                                 String consumes, String produces, String 
inType, String outType,
                                  String description) {
             this.consumer = consumer;
             this.url = url;
@@ -185,7 +183,6 @@ public class DefaultRestRegistry extends ServiceSupport 
implements StaticService
             this.produces = produces;
             this.inType = inType;
             this.outType = outType;
-            this.routeId = routeId;
             this.description = description;
         }
 
@@ -254,11 +251,6 @@ public class DefaultRestRegistry extends ServiceSupport 
implements StaticService
         }
 
         @Override
-        public String getRouteId() {
-            return routeId;
-        }
-
-        @Override
         public String getDescription() {
             return description;
         }
diff --git 
a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
 
b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
index bbea58a..56f455d 100644
--- 
a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
+++ 
b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
@@ -60,6 +60,8 @@ import io.swagger.models.properties.LongProperty;
 import io.swagger.models.properties.Property;
 import io.swagger.models.properties.RefProperty;
 import io.swagger.models.properties.StringProperty;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestOperationParamDefinition;
 import org.apache.camel.model.rest.RestOperationResponseHeaderDefinition;
@@ -89,6 +91,7 @@ public class RestSwaggerReader {
     /**
      * Read the REST-DSL definition's and parse that as a Swagger model 
representation
      *
+     * @param  camelContext           the camel context
      * @param  rests                  the rest-dsl
      * @param  config                 the swagger configuration
      * @param  classResolver          class resolver to use
@@ -96,12 +99,13 @@ public class RestSwaggerReader {
      * @throws ClassNotFoundException
      */
     public Swagger read(
+            CamelContext camelContext,
             List<RestDefinition> rests, BeanConfig config, String 
camelContextId, ClassResolver classResolver)
             throws ClassNotFoundException {
         Swagger swagger = new Swagger();
 
         for (RestDefinition rest : rests) {
-            parse(swagger, rest, camelContextId, classResolver);
+            parse(camelContext, swagger, rest, camelContextId, classResolver);
         }
 
         // configure before returning
@@ -109,7 +113,8 @@ public class RestSwaggerReader {
         return swagger;
     }
 
-    private void parse(Swagger swagger, RestDefinition rest, String 
camelContextId, ClassResolver classResolver)
+    private void parse(
+            CamelContext camelContext, Swagger swagger, RestDefinition rest, 
String camelContextId, ClassResolver classResolver)
             throws ClassNotFoundException {
         List<VerbDefinition> verbs = new ArrayList<>(rest.getVerbs());
         // must sort the verbs by uri so we group them together when an uri 
has multiple operations
@@ -219,10 +224,11 @@ public class RestSwaggerReader {
             appendModels(clazz, swagger);
         }
 
-        doParseVerbs(swagger, rest, camelContextId, verbs, pathAsTag);
+        doParseVerbs(camelContext, swagger, rest, camelContextId, verbs, 
pathAsTag);
     }
 
     private void doParseVerbs(
+            CamelContext camelContext,
             Swagger swagger, RestDefinition rest, String camelContextId, 
List<VerbDefinition> verbs, String pathAsTag) {
         String basePath = rest.getPath();
 
@@ -249,7 +255,6 @@ public class RestSwaggerReader {
                 op.addTag(pathAsTag);
             }
 
-            final String routeId = verb.getRouteId();
             // favour ids from verb, rest, route
             final String operationId;
             if (verb.getId() != null) {
@@ -257,13 +262,13 @@ public class RestSwaggerReader {
             } else if (rest.getId() != null) {
                 operationId = rest.getId();
             } else {
-                operationId = routeId;
+                
verb.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
+                operationId = verb.getId();
             }
             op.operationId(operationId);
 
             // add id as vendor extensions
             op.getVendorExtensions().put("x-camelContextId", camelContextId);
-            op.getVendorExtensions().put("x-routeId", routeId);
 
             Path path = swagger.getPath(opPath);
             if (path == null) {
diff --git 
a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
 
b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
index aac452d..50e5506 100644
--- 
a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
+++ 
b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
@@ -181,7 +181,7 @@ public class RestSwaggerSupport {
                         (String) 
apiProperties.getOrDefault("api.specification.contentType.json", 
"application/json"));
 
                 // read the rest-dsl into swagger model
-                Swagger swagger = reader.read(rests, swaggerConfig, 
camelContext.getName(), classResolver);
+                Swagger swagger = reader.read(camelContext, rests, 
swaggerConfig, camelContext.getName(), classResolver);
                 if (configuration.isUseXForwardHeaders()) {
                     setupXForwardedHeaders(swagger, headers);
                 }
@@ -201,7 +201,7 @@ public class RestSwaggerSupport {
                         (String) 
apiProperties.getOrDefault("api.specification.contentType.yaml", "text/yaml"));
 
                 // read the rest-dsl into swagger model
-                Swagger swagger = reader.read(rests, swaggerConfig, 
camelContext.getName(), classResolver);
+                Swagger swagger = reader.read(camelContext, rests, 
swaggerConfig, camelContext.getName(), classResolver);
                 if (configuration.isUseXForwardHeaders()) {
                     setupXForwardedHeaders(swagger, headers);
                 }
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerArrayEnumTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerArrayEnumTest.java
index 15fc2fc..094dc2a 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerArrayEnumTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerArrayEnumTest.java
@@ -28,11 +28,12 @@ import io.swagger.models.parameters.Parameter;
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestParamType;
+import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-public class RestSwaggerArrayEnumTest {
+public class RestSwaggerArrayEnumTest extends CamelTestSupport {
 
     @Test
     public void shouldGenerateEnumValuesForArraysAndNonArrays() throws 
Exception {
@@ -57,7 +58,7 @@ public class RestSwaggerArrayEnumTest {
                 
.param().name("headerArrayParam").type(RestParamType.header).dataType("array").arrayType("float")
                 .allowableValues("1.1", "2.2", "3.3").endParam();
 
-        final Swagger swagger = 
reader.read(Collections.singletonList(restDefinition), new BeanConfig(),
+        final Swagger swagger = reader.read(context, 
Collections.singletonList(restDefinition), new BeanConfig(),
                 "camel-1", new DefaultClassResolver());
 
         assertThat(swagger).isNotNull();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsOverrideTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsOverrideTest.java
index 28a1fd7..cfd121f 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsOverrideTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsOverrideTest.java
@@ -69,7 +69,7 @@ public class RestSwaggerReaderApiDocsOverrideTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsTest.java
index f851378..75c88be 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderApiDocsTest.java
@@ -70,7 +70,7 @@ public class RestSwaggerReaderApiDocsTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderDayOfWeekTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderDayOfWeekTest.java
index 755fae7..d0dcf87 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderDayOfWeekTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderDayOfWeekTest.java
@@ -71,7 +71,7 @@ public class RestSwaggerReaderDayOfWeekTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEmptyAllowableValuesTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEmptyAllowableValuesTest.java
index 97dd58c..3527f0b 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEmptyAllowableValuesTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEmptyAllowableValuesTest.java
@@ -70,7 +70,7 @@ public class RestSwaggerReaderEmptyAllowableValuesTest 
extends CamelTestSupport
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEnableVendorExtensionTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEnableVendorExtensionTest.java
index 2dba21a..fa19520 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEnableVendorExtensionTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderEnableVendorExtensionTest.java
@@ -84,7 +84,7 @@ public class RestSwaggerReaderEnableVendorExtensionTest 
extends CamelTestSupport
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
@@ -95,14 +95,12 @@ public class RestSwaggerReaderEnableVendorExtensionTest 
extends CamelTestSupport
         LOG.info(json);
 
         String camelId = context.getName();
-        String routeId = context.getRouteDefinitions().get(0).getId();
 
         assertTrue(json.contains("\"host\" : \"localhost:8080\""));
         assertTrue(json.contains("\"description\" : \"The user returned\""));
         assertTrue(json.contains("\"$ref\" : \"#/definitions/User\""));
         assertFalse(json.contains("\"enum\""));
         assertTrue(json.contains("\"x-camelContextId\" : \"" + camelId + 
"\""));
-        assertTrue(json.contains("\"x-routeId\" : \"" + routeId + "\""));
         context.stop();
     }
 
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderFileResponseModelTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderFileResponseModelTest.java
index c9c8bbd..33dab27 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderFileResponseModelTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderFileResponseModelTest.java
@@ -63,7 +63,7 @@ public class RestSwaggerReaderFileResponseModelTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelApiSecurityTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelApiSecurityTest.java
index 6ce82d3..606c669 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelApiSecurityTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelApiSecurityTest.java
@@ -89,7 +89,7 @@ public class RestSwaggerReaderModelApiSecurityTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelBookOrderTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelBookOrderTest.java
index 7c6bab9..4b86377 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelBookOrderTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelBookOrderTest.java
@@ -74,7 +74,7 @@ public class RestSwaggerReaderModelBookOrderTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
index 159ea15..8f06af3 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java
@@ -82,7 +82,7 @@ public class RestSwaggerReaderModelTest extends 
CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderOverrideHostApiDocsTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderOverrideHostApiDocsTest.java
index 5a8ae11..06ad10b 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderOverrideHostApiDocsTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderOverrideHostApiDocsTest.java
@@ -45,7 +45,7 @@ public class RestSwaggerReaderOverrideHostApiDocsTest extends 
RestSwaggerReaderA
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
index 79977c3..36c6a1b 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
@@ -72,7 +72,7 @@ public class RestSwaggerReaderTest extends CamelTestSupport {
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/SpringRestSwaggerReaderModelApiSecurityTest.java
 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/SpringRestSwaggerReaderModelApiSecurityTest.java
index 3b7c62f..97a4c5a 100644
--- 
a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/SpringRestSwaggerReaderModelApiSecurityTest.java
+++ 
b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/SpringRestSwaggerReaderModelApiSecurityTest.java
@@ -54,7 +54,7 @@ public class SpringRestSwaggerReaderModelApiSecurityTest 
extends CamelSpringTest
         RestSwaggerReader reader = new RestSwaggerReader();
 
         Swagger swagger
-                = reader.read(context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
+                = reader.read(context, context.getRestDefinitions(), config, 
context.getName(), new DefaultClassResolver());
         assertNotNull(swagger);
 
         ObjectMapper mapper = new ObjectMapper();
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistry.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistry.java
index 068076d..74a54b9 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistry.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistry.java
@@ -92,11 +92,6 @@ public interface RestRegistry extends Service {
         String getOutType();
 
         /**
-         * Gets the id of the route this rest service will be using.
-         */
-        String getRouteId();
-
-        /**
          * Optional description about this rest service.
          */
         String getDescription();
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/delete.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/delete.json
index 7e752a7..bafa802 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/delete.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/delete.json
@@ -19,7 +19,6 @@
     "skipBindingOnErrorCode": { "kind": "attribute", "displayName": "Skip 
Binding On Error Code", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to skip binding on output if 
there is a custom HTTP error code header. This allows to build custom error 
messages that do not bind to json \/ xml etc, as success messages otherwise 
will do. This option will override wh [...]
     "clientRequestValidation": { "kind": "attribute", "displayName": "Client 
Request Validation", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to enable validation of the 
client request to check: 1) Content-Type header matches what the Rest DSL 
consumes; returns HTTP Status 415 if validation error. 2) Accept header matches 
what the Rest DSL produces; returns  [...]
     "enableCORS": { "kind": "attribute", "displayName": "Enable CORS", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable CORS headers in the HTTP response. 
This option will override what may be configured on a parent level The default 
value is false." },
-    "routeId": { "kind": "attribute", "displayName": "Route Id", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The route id this rest-dsl 
is using (read-only)" },
     "apiDocs": { "kind": "attribute", "displayName": "Api Docs", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to include or exclude this rest operation in API documentation. The 
default value is true." },
     "deprecated": { "kind": "attribute", "displayName": "Deprecated", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Marks this rest operation as deprecated in OpenApi 
documentation." },
     "type": { "kind": "attribute", "displayName": "Type", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the class name to use 
for binding from input to POJO for the incoming data This option will override 
what may be configured on a parent level. The name of the class of the input 
data. Append a to the end of the name if you want the input to be an array 
type." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/get.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/get.json
index eabc9f4..c7c3199 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/get.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/get.json
@@ -19,7 +19,6 @@
     "skipBindingOnErrorCode": { "kind": "attribute", "displayName": "Skip 
Binding On Error Code", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to skip binding on output if 
there is a custom HTTP error code header. This allows to build custom error 
messages that do not bind to json \/ xml etc, as success messages otherwise 
will do. This option will override wh [...]
     "clientRequestValidation": { "kind": "attribute", "displayName": "Client 
Request Validation", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to enable validation of the 
client request to check: 1) Content-Type header matches what the Rest DSL 
consumes; returns HTTP Status 415 if validation error. 2) Accept header matches 
what the Rest DSL produces; returns  [...]
     "enableCORS": { "kind": "attribute", "displayName": "Enable CORS", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable CORS headers in the HTTP response. 
This option will override what may be configured on a parent level The default 
value is false." },
-    "routeId": { "kind": "attribute", "displayName": "Route Id", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The route id this rest-dsl 
is using (read-only)" },
     "apiDocs": { "kind": "attribute", "displayName": "Api Docs", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to include or exclude this rest operation in API documentation. The 
default value is true." },
     "deprecated": { "kind": "attribute", "displayName": "Deprecated", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Marks this rest operation as deprecated in OpenApi 
documentation." },
     "type": { "kind": "attribute", "displayName": "Type", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the class name to use 
for binding from input to POJO for the incoming data This option will override 
what may be configured on a parent level. The name of the class of the input 
data. Append a to the end of the name if you want the input to be an array 
type." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/head.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/head.json
index 415e927..f90765c 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/head.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/head.json
@@ -19,7 +19,6 @@
     "skipBindingOnErrorCode": { "kind": "attribute", "displayName": "Skip 
Binding On Error Code", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to skip binding on output if 
there is a custom HTTP error code header. This allows to build custom error 
messages that do not bind to json \/ xml etc, as success messages otherwise 
will do. This option will override wh [...]
     "clientRequestValidation": { "kind": "attribute", "displayName": "Client 
Request Validation", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to enable validation of the 
client request to check: 1) Content-Type header matches what the Rest DSL 
consumes; returns HTTP Status 415 if validation error. 2) Accept header matches 
what the Rest DSL produces; returns  [...]
     "enableCORS": { "kind": "attribute", "displayName": "Enable CORS", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable CORS headers in the HTTP response. 
This option will override what may be configured on a parent level The default 
value is false." },
-    "routeId": { "kind": "attribute", "displayName": "Route Id", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The route id this rest-dsl 
is using (read-only)" },
     "apiDocs": { "kind": "attribute", "displayName": "Api Docs", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to include or exclude this rest operation in API documentation. The 
default value is true." },
     "deprecated": { "kind": "attribute", "displayName": "Deprecated", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Marks this rest operation as deprecated in OpenApi 
documentation." },
     "type": { "kind": "attribute", "displayName": "Type", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the class name to use 
for binding from input to POJO for the incoming data This option will override 
what may be configured on a parent level. The name of the class of the input 
data. Append a to the end of the name if you want the input to be an array 
type." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/patch.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/patch.json
index 760e13f..0f5d175 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/patch.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/patch.json
@@ -19,7 +19,6 @@
     "skipBindingOnErrorCode": { "kind": "attribute", "displayName": "Skip 
Binding On Error Code", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to skip binding on output if 
there is a custom HTTP error code header. This allows to build custom error 
messages that do not bind to json \/ xml etc, as success messages otherwise 
will do. This option will override wh [...]
     "clientRequestValidation": { "kind": "attribute", "displayName": "Client 
Request Validation", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to enable validation of the 
client request to check: 1) Content-Type header matches what the Rest DSL 
consumes; returns HTTP Status 415 if validation error. 2) Accept header matches 
what the Rest DSL produces; returns  [...]
     "enableCORS": { "kind": "attribute", "displayName": "Enable CORS", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable CORS headers in the HTTP response. 
This option will override what may be configured on a parent level The default 
value is false." },
-    "routeId": { "kind": "attribute", "displayName": "Route Id", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The route id this rest-dsl 
is using (read-only)" },
     "apiDocs": { "kind": "attribute", "displayName": "Api Docs", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to include or exclude this rest operation in API documentation. The 
default value is true." },
     "deprecated": { "kind": "attribute", "displayName": "Deprecated", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Marks this rest operation as deprecated in OpenApi 
documentation." },
     "type": { "kind": "attribute", "displayName": "Type", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the class name to use 
for binding from input to POJO for the incoming data This option will override 
what may be configured on a parent level. The name of the class of the input 
data. Append a to the end of the name if you want the input to be an array 
type." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/post.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/post.json
index 673972d..666c6b6 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/post.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/post.json
@@ -19,7 +19,6 @@
     "skipBindingOnErrorCode": { "kind": "attribute", "displayName": "Skip 
Binding On Error Code", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to skip binding on output if 
there is a custom HTTP error code header. This allows to build custom error 
messages that do not bind to json \/ xml etc, as success messages otherwise 
will do. This option will override wh [...]
     "clientRequestValidation": { "kind": "attribute", "displayName": "Client 
Request Validation", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to enable validation of the 
client request to check: 1) Content-Type header matches what the Rest DSL 
consumes; returns HTTP Status 415 if validation error. 2) Accept header matches 
what the Rest DSL produces; returns  [...]
     "enableCORS": { "kind": "attribute", "displayName": "Enable CORS", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable CORS headers in the HTTP response. 
This option will override what may be configured on a parent level The default 
value is false." },
-    "routeId": { "kind": "attribute", "displayName": "Route Id", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The route id this rest-dsl 
is using (read-only)" },
     "apiDocs": { "kind": "attribute", "displayName": "Api Docs", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to include or exclude this rest operation in API documentation. The 
default value is true." },
     "deprecated": { "kind": "attribute", "displayName": "Deprecated", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Marks this rest operation as deprecated in OpenApi 
documentation." },
     "type": { "kind": "attribute", "displayName": "Type", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the class name to use 
for binding from input to POJO for the incoming data This option will override 
what may be configured on a parent level. The name of the class of the input 
data. Append a to the end of the name if you want the input to be an array 
type." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/put.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/put.json
index 7dfa092..8bf87a2 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/put.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/put.json
@@ -19,7 +19,6 @@
     "skipBindingOnErrorCode": { "kind": "attribute", "displayName": "Skip 
Binding On Error Code", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to skip binding on output if 
there is a custom HTTP error code header. This allows to build custom error 
messages that do not bind to json \/ xml etc, as success messages otherwise 
will do. This option will override wh [...]
     "clientRequestValidation": { "kind": "attribute", "displayName": "Client 
Request Validation", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to enable validation of the 
client request to check: 1) Content-Type header matches what the Rest DSL 
consumes; returns HTTP Status 415 if validation error. 2) Accept header matches 
what the Rest DSL produces; returns  [...]
     "enableCORS": { "kind": "attribute", "displayName": "Enable CORS", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to enable CORS headers in the HTTP response. 
This option will override what may be configured on a parent level The default 
value is false." },
-    "routeId": { "kind": "attribute", "displayName": "Route Id", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The route id this rest-dsl 
is using (read-only)" },
     "apiDocs": { "kind": "attribute", "displayName": "Api Docs", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to include or exclude this rest operation in API documentation. The 
default value is true." },
     "deprecated": { "kind": "attribute", "displayName": "Deprecated", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Marks this rest operation as deprecated in OpenApi 
documentation." },
     "type": { "kind": "attribute", "displayName": "Type", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the class name to use 
for binding from input to POJO for the incoming data This option will override 
what may be configured on a parent level. The name of the class of the input 
data. Append a to the end of the name if you want the input to be an array 
type." },
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
index efb178f..72999a7 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
@@ -196,12 +196,6 @@ public final class RouteDefinitionHelper {
             }
             RestDefinition rest = route.getRestDefinition();
             if (rest != null && route.isRest()) {
-                VerbDefinition verb = findVerbDefinition(rest, 
route.getInput().getEndpointUri());
-                if (verb != null && verb.getRouteId() == null) {
-                    String id = verb.idOrCreate(ecc.getNodeIdFactory());
-                    verb.setRouteId(id);
-                }
-
                 // if its the rest/rest-api endpoints then they should include
                 // the route id as well
                 if (ObjectHelper.isNotEmpty(route.getInput())) {
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
index d9b831e..a238bac 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
@@ -69,8 +69,6 @@ public abstract class VerbDefinition extends 
OptionalIdentifiedDefinition<VerbDe
     @Metadata(javaType = "java.lang.Boolean")
     private String enableCORS;
     @XmlAttribute
-    private String routeId;
-    @XmlAttribute
     @Metadata(javaType = "java.lang.Boolean")
     private String apiDocs;
     @XmlAttribute
@@ -317,17 +315,6 @@ public abstract class VerbDefinition extends 
OptionalIdentifiedDefinition<VerbDe
         this.outTypeClass = outTypeClass;
     }
 
-    public String getRouteId() {
-        return routeId;
-    }
-
-    /**
-     * The route id this rest-dsl is using (read-only)
-     */
-    public void setRouteId(String routeId) {
-        this.routeId = routeId;
-    }
-
     public String getApiDocs() {
         return apiDocs;
     }
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRestRegistry.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRestRegistry.java
index 15ba366..8654a30 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRestRegistry.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRestRegistry.java
@@ -25,7 +25,6 @@ import javax.management.openmbean.TabularData;
 import javax.management.openmbean.TabularDataSupport;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.Producer;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.CamelOpenMBeanTypes;
@@ -39,8 +38,6 @@ import org.apache.camel.spi.RestRegistry;
 public class ManagedRestRegistry extends ManagedService implements 
ManagedRestRegistryMBean {
 
     private final RestRegistry registry;
-    // TODO apiProducer is reported unused, if it is needed, then place 
@SuppressWarnings("unused")
-    private transient Producer apiProducer;
 
     public ManagedRestRegistry(CamelContext context, RestRegistry registry) {
         super(context, registry);
@@ -73,17 +70,16 @@ public class ManagedRestRegistry extends ManagedService 
implements ManagedRestRe
                 String state = entry.getState();
                 String inType = entry.getInType();
                 String outType = entry.getOutType();
-                String routeId = entry.getRouteId();
                 String description = entry.getDescription();
 
                 CompositeData data = new CompositeDataSupport(
                         ct,
                         new String[] {
                                 "url", "baseUrl", "basePath", "uriTemplate", 
"method", "consumes", "produces", "inType",
-                                "outType", "state", "routeId", "description" },
+                                "outType", "state", "description" },
                         new Object[] {
                                 url, baseUrl, basePath, uriTemplate, method, 
consumes, produces, inType, outType, state,
-                                routeId, description });
+                                description });
                 answer.put(data);
             }
             return answer;
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index 9212a89..5ff0aaf 100644
--- 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -2818,7 +2818,6 @@ public class ModelParser extends BaseParser {
                 case "outType": def.setOutType(val); break;
                 case "path": def.setPath(val); break;
                 case "produces": def.setProduces(val); break;
-                case "routeId": def.setRouteId(val); break;
                 case "skipBindingOnErrorCode": 
def.setSkipBindingOnErrorCode(val); break;
                 case "type": def.setType(val); break;
                 default: return 
optionalIdentifiedDefinitionAttributeHandler().accept(def, key, val);
diff --git 
a/tooling/openapi-rest-dsl-generator/src/main/java/org/apache/camel/generator/openapi/RestDslYamlGenerator.java
 
b/tooling/openapi-rest-dsl-generator/src/main/java/org/apache/camel/generator/openapi/RestDslYamlGenerator.java
index b45291c..0feffe5 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/main/java/org/apache/camel/generator/openapi/RestDslYamlGenerator.java
+++ 
b/tooling/openapi-rest-dsl-generator/src/main/java/org/apache/camel/generator/openapi/RestDslYamlGenerator.java
@@ -54,7 +54,7 @@ public class RestDslYamlGenerator extends 
RestDslGenerator<RestDslYamlGenerator>
 
     private static final String[] VERBS = new String[] { "delete", "get", 
"head", "patch", "post", "put" };
     private static final String[] FIELD_ORDER
-            = new String[] { "id", "uri", "description", "consumes", 
"produces", "type", "outType", "param" };
+            = new String[] { "id", "path", "description", "consumes", 
"produces", "type", "outType", "param" };
 
     RestDslYamlGenerator(final OasDocument document) {
         super(document);
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreWithRestComponentXml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreWithRestComponentXml.txt
index d2ffa0f..61c1888 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreWithRestComponentXml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreWithRestComponentXml.txt
@@ -2,97 +2,97 @@
 <rests xmlns="http://camel.apache.org/schema/spring";>
     <restConfiguration component="servlet" contextPath="/foo"/>
     <rest path="/v2">
-        <put consumes="application/json,application/xml" id="updatePet" 
produces="application/xml,application/json" uri="/pet">
+        <put consumes="application/json,application/xml" id="updatePet" 
produces="application/xml,application/json" path="/pet">
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <to uri="direct:updatePet"/>
         </put>
-        <post consumes="application/json,application/xml" id="addPet" 
produces="application/xml,application/json" uri="/pet">
+        <post consumes="application/json,application/xml" id="addPet" 
produces="application/xml,application/json" path="/pet">
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <param dataType="boolean" defaultValue="false" 
description="Verbose data" name="verbose" required="false" type="query"/>
             <to uri="direct:addPet"/>
         </post>
-        <get id="findPetsByStatus" produces="application/xml,application/json" 
uri="/pet/findByStatus">
+        <get id="findPetsByStatus" produces="application/xml,application/json" 
path="/pet/findByStatus">
             <description>Multiple status values can be provided with comma 
separated strings</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Status values that need to be considered for 
filter" name="status" required="true" type="query"/>
             <to uri="direct:findPetsByStatus"/>
         </get>
-        <get id="findPetsByTags" produces="application/xml,application/json" 
uri="/pet/findByTags">
+        <get id="findPetsByTags" produces="application/xml,application/json" 
path="/pet/findByTags">
             <description>Muliple tags can be provided with comma separated 
strings. Use tag1, tag2, tag3 for testing.</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Tags to filter by" name="tags" required="true" 
type="query"/>
             <to uri="direct:findPetsByTags"/>
         </get>
-        <get id="getPetById" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <get id="getPetById" produces="application/xml,application/json" 
path="/pet/{petId}">
             <description>Returns a single pet</description>
             <param dataType="integer" description="ID of pet to return" 
name="petId" required="true" type="path"/>
             <to uri="direct:getPetById"/>
         </get>
-        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" produces="application/xml,application/json" 
path="/pet/{petId}">
             <param dataType="integer" description="ID of pet that needs to be 
updated" name="petId" required="true" type="path"/>
             <param dataType="string" description="Updated name of the pet" 
name="name" required="false" type="formData"/>
             <param dataType="string" description="Updated status of the pet" 
name="status" required="false" type="formData"/>
             <to uri="direct:updatePetWithForm"/>
         </post>
-        <delete id="deletePet" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <delete id="deletePet" produces="application/xml,application/json" 
path="/pet/{petId}">
             <param dataType="string" name="api_key" required="false" 
type="header"/>
             <param dataType="integer" description="Pet id to delete" 
name="petId" required="true" type="path"/>
             <to uri="direct:deletePet"/>
         </delete>
-        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" uri="/pet/{petId}/uploadImage">
+        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" path="/pet/{petId}/uploadImage">
             <param dataType="integer" description="ID of pet to update" 
name="petId" required="true" type="path"/>
             <param dataType="string" description="Additional data to pass to 
server" name="additionalMetadata" required="false" type="formData"/>
             <param dataType="file" description="file to upload" name="file" 
required="false" type="formData"/>
             <to uri="direct:uploadFile"/>
         </post>
-        <get id="getInventory" produces="application/json" 
uri="/store/inventory">
+        <get id="getInventory" produces="application/json" 
path="/store/inventory">
             <description>Returns a map of status codes to 
quantities</description>
             <to uri="direct:getInventory"/>
         </get>
-        <post id="placeOrder" produces="application/xml,application/json" 
uri="/store/order">
+        <post id="placeOrder" produces="application/xml,application/json" 
path="/store/order">
             <param description="order placed for purchasing the pet" 
name="body" required="true" type="body"/>
             <to uri="direct:placeOrder"/>
         </post>
-        <get id="getOrderById" produces="application/xml,application/json" 
uri="/store/order/{orderId}">
+        <get id="getOrderById" produces="application/xml,application/json" 
path="/store/order/{orderId}">
             <description>For valid response try integer IDs with value &gt;= 1 
and &lt;= 10. Other values will generated exceptions</description>
             <param dataType="integer" description="ID of pet that needs to be 
fetched" name="orderId" required="true" type="path"/>
             <to uri="direct:getOrderById"/>
         </get>
-        <delete id="deleteOrder" produces="application/xml,application/json" 
uri="/store/order/{orderId}">
+        <delete id="deleteOrder" produces="application/xml,application/json" 
path="/store/order/{orderId}">
             <description>For valid response try integer IDs with positive 
integer value. Negative or non-integer values will generate API 
errors</description>
             <param dataType="integer" description="ID of the order that needs 
to be deleted" name="orderId" required="true" type="path"/>
             <to uri="direct:deleteOrder"/>
         </delete>
-        <post id="createUser" produces="application/xml,application/json" 
uri="/user">
+        <post id="createUser" produces="application/xml,application/json" 
path="/user">
             <description>This can only be done by the logged in 
user.</description>
             <param description="Created user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUser"/>
         </post>
-        <post id="createUsersWithArrayInput" 
produces="application/xml,application/json" uri="/user/createWithArray">
+        <post id="createUsersWithArrayInput" 
produces="application/xml,application/json" path="/user/createWithArray">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithArrayInput"/>
         </post>
-        <post id="createUsersWithListInput" 
produces="application/xml,application/json" uri="/user/createWithList">
+        <post id="createUsersWithListInput" 
produces="application/xml,application/json" path="/user/createWithList">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithListInput"/>
         </post>
-        <get id="loginUser" produces="application/xml,application/json" 
uri="/user/login">
+        <get id="loginUser" produces="application/xml,application/json" 
path="/user/login">
             <param dataType="string" description="The user name for login" 
name="username" required="true" type="query"/>
             <param dataType="string" description="The password for login in 
clear text" name="password" required="true" type="query"/>
             <to uri="direct:loginUser"/>
         </get>
-        <get id="logoutUser" produces="application/xml,application/json" 
uri="/user/logout">
+        <get id="logoutUser" produces="application/xml,application/json" 
path="/user/logout">
             <to uri="direct:logoutUser"/>
         </get>
-        <get id="getUserByName" produces="application/xml,application/json" 
uri="/user/{username}">
+        <get id="getUserByName" produces="application/xml,application/json" 
path="/user/{username}">
             <param dataType="string" description="The name that needs to be 
fetched. Use user1 for testing. " name="username" required="true" type="path"/>
             <to uri="direct:getUserByName"/>
         </get>
-        <put id="updateUser" produces="application/xml,application/json" 
uri="/user/{username}">
+        <put id="updateUser" produces="application/xml,application/json" 
path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="name that need to be 
updated" name="username" required="true" type="path"/>
             <param description="Updated user object" name="body" 
required="true" type="body"/>
             <to uri="direct:updateUser"/>
         </put>
-        <delete id="deleteUser" produces="application/xml,application/json" 
uri="/user/{username}">
+        <delete id="deleteUser" produces="application/xml,application/json" 
path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="The name that needs to be 
deleted" name="username" required="true" type="path"/>
             <to uri="direct:deleteUser"/>
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreXml.txt 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreXml.txt
index 8d68e03..3c51257 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreXml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiPetstoreXml.txt
@@ -1,97 +1,97 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <rests xmlns="http://camel.apache.org/schema/spring";>
     <rest path="/v2">
-        <put consumes="application/json,application/xml" id="updatePet" 
produces="application/xml,application/json" uri="/pet">
+        <put consumes="application/json,application/xml" id="updatePet" 
produces="application/xml,application/json" path="/pet">
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <to uri="direct:updatePet"/>
         </put>
-        <post consumes="application/json,application/xml" id="addPet" 
produces="application/xml,application/json" uri="/pet">
+        <post consumes="application/json,application/xml" id="addPet" 
produces="application/xml,application/json" path="/pet">
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <param dataType="boolean" defaultValue="false" 
description="Verbose data" name="verbose" required="false" type="query"/>
             <to uri="direct:addPet"/>
         </post>
-        <get id="findPetsByStatus" produces="application/xml,application/json" 
uri="/pet/findByStatus">
+        <get id="findPetsByStatus" produces="application/xml,application/json" 
path="/pet/findByStatus">
             <description>Multiple status values can be provided with comma 
separated strings</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Status values that need to be considered for 
filter" name="status" required="true" type="query"/>
             <to uri="direct:findPetsByStatus"/>
         </get>
-        <get id="findPetsByTags" produces="application/xml,application/json" 
uri="/pet/findByTags">
+        <get id="findPetsByTags" produces="application/xml,application/json" 
path="/pet/findByTags">
             <description>Muliple tags can be provided with comma separated 
strings. Use tag1, tag2, tag3 for testing.</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Tags to filter by" name="tags" required="true" 
type="query"/>
             <to uri="direct:findPetsByTags"/>
         </get>
-        <get id="getPetById" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <get id="getPetById" produces="application/xml,application/json" 
path="/pet/{petId}">
             <description>Returns a single pet</description>
             <param dataType="integer" description="ID of pet to return" 
name="petId" required="true" type="path"/>
             <to uri="direct:getPetById"/>
         </get>
-        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" produces="application/xml,application/json" 
path="/pet/{petId}">
             <param dataType="integer" description="ID of pet that needs to be 
updated" name="petId" required="true" type="path"/>
             <param dataType="string" description="Updated name of the pet" 
name="name" required="false" type="formData"/>
             <param dataType="string" description="Updated status of the pet" 
name="status" required="false" type="formData"/>
             <to uri="direct:updatePetWithForm"/>
         </post>
-        <delete id="deletePet" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <delete id="deletePet" produces="application/xml,application/json" 
path="/pet/{petId}">
             <param dataType="string" name="api_key" required="false" 
type="header"/>
             <param dataType="integer" description="Pet id to delete" 
name="petId" required="true" type="path"/>
             <to uri="direct:deletePet"/>
         </delete>
-        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" uri="/pet/{petId}/uploadImage">
+        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" path="/pet/{petId}/uploadImage">
             <param dataType="integer" description="ID of pet to update" 
name="petId" required="true" type="path"/>
             <param dataType="string" description="Additional data to pass to 
server" name="additionalMetadata" required="false" type="formData"/>
             <param dataType="file" description="file to upload" name="file" 
required="false" type="formData"/>
             <to uri="direct:uploadFile"/>
         </post>
-        <get id="getInventory" produces="application/json" 
uri="/store/inventory">
+        <get id="getInventory" produces="application/json" 
path="/store/inventory">
             <description>Returns a map of status codes to 
quantities</description>
             <to uri="direct:getInventory"/>
         </get>
-        <post id="placeOrder" produces="application/xml,application/json" 
uri="/store/order">
+        <post id="placeOrder" produces="application/xml,application/json" 
path="/store/order">
             <param description="order placed for purchasing the pet" 
name="body" required="true" type="body"/>
             <to uri="direct:placeOrder"/>
         </post>
-        <get id="getOrderById" produces="application/xml,application/json" 
uri="/store/order/{orderId}">
+        <get id="getOrderById" produces="application/xml,application/json" 
path="/store/order/{orderId}">
             <description>For valid response try integer IDs with value &gt;= 1 
and &lt;= 10. Other values will generated exceptions</description>
             <param dataType="integer" description="ID of pet that needs to be 
fetched" name="orderId" required="true" type="path"/>
             <to uri="direct:getOrderById"/>
         </get>
-        <delete id="deleteOrder" produces="application/xml,application/json" 
uri="/store/order/{orderId}">
+        <delete id="deleteOrder" produces="application/xml,application/json" 
path="/store/order/{orderId}">
             <description>For valid response try integer IDs with positive 
integer value. Negative or non-integer values will generate API 
errors</description>
             <param dataType="integer" description="ID of the order that needs 
to be deleted" name="orderId" required="true" type="path"/>
             <to uri="direct:deleteOrder"/>
         </delete>
-        <post id="createUser" produces="application/xml,application/json" 
uri="/user">
+        <post id="createUser" produces="application/xml,application/json" 
path="/user">
             <description>This can only be done by the logged in 
user.</description>
             <param description="Created user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUser"/>
         </post>
-        <post id="createUsersWithArrayInput" 
produces="application/xml,application/json" uri="/user/createWithArray">
+        <post id="createUsersWithArrayInput" 
produces="application/xml,application/json" path="/user/createWithArray">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithArrayInput"/>
         </post>
-        <post id="createUsersWithListInput" 
produces="application/xml,application/json" uri="/user/createWithList">
+        <post id="createUsersWithListInput" 
produces="application/xml,application/json" path="/user/createWithList">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithListInput"/>
         </post>
-        <get id="loginUser" produces="application/xml,application/json" 
uri="/user/login">
+        <get id="loginUser" produces="application/xml,application/json" 
path="/user/login">
             <param dataType="string" description="The user name for login" 
name="username" required="true" type="query"/>
             <param dataType="string" description="The password for login in 
clear text" name="password" required="true" type="query"/>
             <to uri="direct:loginUser"/>
         </get>
-        <get id="logoutUser" produces="application/xml,application/json" 
uri="/user/logout">
+        <get id="logoutUser" produces="application/xml,application/json" 
path="/user/logout">
             <to uri="direct:logoutUser"/>
         </get>
-        <get id="getUserByName" produces="application/xml,application/json" 
uri="/user/{username}">
+        <get id="getUserByName" produces="application/xml,application/json" 
path="/user/{username}">
             <param dataType="string" description="The name that needs to be 
fetched. Use user1 for testing. " name="username" required="true" type="path"/>
             <to uri="direct:getUserByName"/>
         </get>
-        <put id="updateUser" produces="application/xml,application/json" 
uri="/user/{username}">
+        <put id="updateUser" produces="application/xml,application/json" 
path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="name that need to be 
updated" name="username" required="true" type="path"/>
             <param description="Updated user object" name="body" 
required="true" type="body"/>
             <to uri="direct:updateUser"/>
         </put>
-        <delete id="deleteUser" produces="application/xml,application/json" 
uri="/user/{username}">
+        <delete id="deleteUser" produces="application/xml,application/json" 
path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="The name that needs to be 
deleted" name="username" required="true" type="path"/>
             <to uri="direct:deleteUser"/>
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleXml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleXml.txt
index 5381ff8..2d8d39a 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleXml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleXml.txt
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?><rests 
xmlns="http://camel.apache.org/schema/spring";>
     <rest>
-        <put consumes="application/json,text/xml" 
produces="application/json,text/xml" uri="/pet">
+        <put consumes="application/json,text/xml" 
produces="application/json,text/xml" path="/pet">
             <param name="body" required="true" type="body"/>
             <to uri="direct:rest1"/>      
         </put> 
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleYaml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleYaml.txt
index 9a94c93..1000b53 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleYaml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreSimpleYaml.txt
@@ -1,8 +1,8 @@
 - rest:
     put:
       consumes: "application/json,text/xml"
+      path: "/pet"
       produces: "application/json,text/xml"
-      uri: "/pet"
       param:
       - name: "body"
         required: true
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentXml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentXml.txt
index abd42a6..2816496 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentXml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentXml.txt
@@ -1,96 +1,96 @@
 <?xml version="1.0" encoding="UTF-8"?><rests 
xmlns="http://camel.apache.org/schema/spring";><restConfiguration 
component="servlet" contextPath="/foo"/>
     <rest path="/api/v3">
-        <put consumes="application/json,application/xml" id="updatePet" 
uri="/pet">
+        <put consumes="application/json,application/xml" id="updatePet" 
path="/pet">
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <to uri="direct:updatePet"/>
         </put>
-        <post consumes="application/json,application/xml" id="addPet" 
uri="/pet">
+        <post consumes="application/json,application/xml" id="addPet" 
path="/pet">
             <param dataType="boolean" defaultValue="false" 
description="Verbose data" name="verbose" required="false" type="query"/>
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <to uri="direct:addPet"/>
         </post>
-        <get id="findPetsByStatus" produces="application/xml,application/json" 
uri="/pet/findByStatus">
+        <get id="findPetsByStatus" produces="application/xml,application/json" 
path="/pet/findByStatus">
             <description>Multiple status values can be provided with comma 
separated strings</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Status values that need to be considered for 
filter" name="status" required="true" type="query"/>
             <to uri="direct:findPetsByStatus"/>
         </get>
-        <get id="findPetsByTags" produces="application/xml,application/json" 
uri="/pet/findByTags">
+        <get id="findPetsByTags" produces="application/xml,application/json" 
path="/pet/findByTags">
             <description>Muliple tags can be provided with comma separated 
strings. Use tag1, tag2, tag3 for testing.</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Tags to filter by" name="tags" required="true" 
type="query"/>
             <to uri="direct:findPetsByTags"/>
         </get>
-        <get id="getPetById" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <get id="getPetById" produces="application/xml,application/json" 
path="/pet/{petId}">
             <description>Returns a single pet</description>
             <param dataType="integer" description="ID of pet to return" 
name="petId" required="true" type="path"/>
             <to uri="direct:getPetById"/>
         </get>
-        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" uri="/pet/{petId}">
+        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" path="/pet/{petId}">
             <param dataType="integer" description="ID of pet that needs to be 
updated" name="petId" required="true" type="path"/>
             <param dataType="string" description="Updated name of the pet" 
name="name" required="true" type="formData"/>
             <param dataType="string" description="Updated status of the pet" 
name="status" required="true" type="formData"/>
             <to uri="direct:updatePetWithForm"/>
         </post>
-        <delete id="deletePet" uri="/pet/{petId}">
+        <delete id="deletePet" path="/pet/{petId}">
             <param dataType="string" name="api_key" required="false" 
type="header"/>
             <param dataType="integer" description="Pet id to delete" 
name="petId" required="true" type="path"/>
             <to uri="direct:deletePet"/>
         </delete>
-        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" uri="/pet/{petId}/uploadImage">
+        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" path="/pet/{petId}/uploadImage">
             <param dataType="integer" description="ID of pet to update" 
name="petId" required="true" type="path"/>
             <param dataType="string" description="Additional data to pass to 
server" name="additionalMetadata" required="true" type="formData"/>
             <param dataType="string" description="file to upload" name="file" 
required="true" type="formData"/>
             <to uri="direct:uploadFile"/>
         </post>
-        <get id="getInventory" produces="application/json" 
uri="/store/inventory">
+        <get id="getInventory" produces="application/json" 
path="/store/inventory">
             <description>Returns a map of status codes to 
quantities</description>
             <to uri="direct:getInventory"/>
         </get>
-        <post consumes="*/*" id="placeOrder" 
produces="application/xml,application/json" uri="/store/order">
+        <post consumes="*/*" id="placeOrder" 
produces="application/xml,application/json" path="/store/order">
             <param description="order placed for purchasing the pet" 
name="body" required="true" type="body"/>
             <to uri="direct:placeOrder"/>
         </post>
-        <get id="getOrderById" produces="application/xml,application/json" 
uri="/store/order/{orderId}">
+        <get id="getOrderById" produces="application/xml,application/json" 
path="/store/order/{orderId}">
             <description>For valid response try integer IDs with value &gt;= 1 
and &lt;= 10. Other values will generated exceptions</description>
             <param dataType="integer" description="ID of pet that needs to be 
fetched" name="orderId" required="true" type="path"/>
             <to uri="direct:getOrderById"/>
         </get>
-        <delete id="deleteOrder" uri="/store/order/{orderId}">
+        <delete id="deleteOrder" path="/store/order/{orderId}">
             <description>For valid response try integer IDs with positive 
integer value. Negative or non-integer values will generate API 
errors</description>
             <param dataType="integer" description="ID of the order that needs 
to be deleted" name="orderId" required="true" type="path"/>
             <to uri="direct:deleteOrder"/>
         </delete>
-        <post consumes="*/*" id="createUser" uri="/user">
+        <post consumes="*/*" id="createUser" path="/user">
             <description>This can only be done by the logged in 
user.</description>
             <param description="Created user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUser"/>
         </post>
-        <post consumes="*/*" id="createUsersWithArrayInput" 
uri="/user/createWithArray">
+        <post consumes="*/*" id="createUsersWithArrayInput" 
path="/user/createWithArray">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithArrayInput"/>
         </post>
-        <post consumes="*/*" id="createUsersWithListInput" 
uri="/user/createWithList">
+        <post consumes="*/*" id="createUsersWithListInput" 
path="/user/createWithList">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithListInput"/>
         </post>
-        <get id="loginUser" produces="application/xml,application/json" 
uri="/user/login">
+        <get id="loginUser" produces="application/xml,application/json" 
path="/user/login">
             <param dataType="string" description="The user name for login" 
name="username" required="true" type="query"/>
             <param dataType="string" description="The password for login in 
clear text" name="password" required="true" type="query"/>
             <to uri="direct:loginUser"/>
         </get>
-        <get id="logoutUser" uri="/user/logout">
+        <get id="logoutUser" path="/user/logout">
             <to uri="direct:logoutUser"/>
         </get>
-        <get id="getUserByName" produces="application/xml,application/json" 
uri="/user/{username}">
+        <get id="getUserByName" produces="application/xml,application/json" 
path="/user/{username}">
             <param dataType="string" description="The name that needs to be 
fetched. Use user1 for testing. " name="username" required="true" type="path"/>
             <to uri="direct:getUserByName"/>
         </get>
-        <put consumes="*/*" id="updateUser" uri="/user/{username}">
+        <put consumes="*/*" id="updateUser" path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="name that need to be 
updated" name="username" required="true" type="path"/>
             <param description="Updated user object" name="body" 
required="true" type="body"/>
             <to uri="direct:updateUser"/>
         </put>
-        <delete id="deleteUser" uri="/user/{username}">
+        <delete id="deleteUser" path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="The name that needs to be 
deleted" name="username" required="true" type="path"/>
             <to uri="direct:deleteUser"/>
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentYaml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentYaml.txt
index 6a99cce5..60ae88d 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentYaml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreWithRestComponentYaml.txt
@@ -5,7 +5,7 @@
     path: "/api/v3"
     put:
     - id: "updatePet"
-      uri: "/pet"
+      path: "/pet"
       consumes: "application/json,application/xml"
       param:
       - description: "Pet object that needs to be added to the store"
@@ -15,7 +15,7 @@
       to:
         uri: "direct:updatePet"
     - id: "updateUser"
-      uri: "/user/{username}"
+      path: "/user/{username}"
       description: "This can only be done by the logged in user."
       consumes: "*/*"
       param:
@@ -32,7 +32,7 @@
         uri: "direct:updateUser"
     post:
     - id: "addPet"
-      uri: "/pet"
+      path: "/pet"
       consumes: "application/json,application/xml"
       param:
       - dataType: "boolean"
@@ -48,7 +48,7 @@
       to:
         uri: "direct:addPet"
     - id: "updatePetWithForm"
-      uri: "/pet/{petId}"
+      path: "/pet/{petId}"
       consumes: "application/x-www-form-urlencoded"
       param:
       - dataType: "integer"
@@ -69,7 +69,7 @@
       to:
         uri: "direct:updatePetWithForm"
     - id: "uploadFile"
-      uri: "/pet/{petId}/uploadImage"
+      path: "/pet/{petId}/uploadImage"
       consumes: "multipart/form-data"
       produces: "application/json"
       param:
@@ -91,7 +91,7 @@
       to:
         uri: "direct:uploadFile"
     - id: "placeOrder"
-      uri: "/store/order"
+      path: "/store/order"
       consumes: "*/*"
       produces: "application/xml,application/json"
       param:
@@ -102,7 +102,7 @@
       to:
         uri: "direct:placeOrder"
     - id: "createUser"
-      uri: "/user"
+      path: "/user"
       description: "This can only be done by the logged in user."
       consumes: "*/*"
       param:
@@ -113,7 +113,7 @@
       to:
         uri: "direct:createUser"
     - id: "createUsersWithArrayInput"
-      uri: "/user/createWithArray"
+      path: "/user/createWithArray"
       consumes: "*/*"
       param:
       - description: "List of user object"
@@ -123,7 +123,7 @@
       to:
         uri: "direct:createUsersWithArrayInput"
     - id: "createUsersWithListInput"
-      uri: "/user/createWithList"
+      path: "/user/createWithList"
       consumes: "*/*"
       param:
       - description: "List of user object"
@@ -134,7 +134,7 @@
         uri: "direct:createUsersWithListInput"
     get:
     - id: "findPetsByStatus"
-      uri: "/pet/findByStatus"
+      path: "/pet/findByStatus"
       description: "Multiple status values can be provided with comma 
separated strings"
       produces: "application/xml,application/json"
       param:
@@ -148,7 +148,7 @@
       to:
         uri: "direct:findPetsByStatus"
     - id: "findPetsByTags"
-      uri: "/pet/findByTags"
+      path: "/pet/findByTags"
       description: "Muliple tags can be provided with comma separated strings. 
Use\
         \ tag1, tag2, tag3 for testing."
       produces: "application/xml,application/json"
@@ -163,7 +163,7 @@
       to:
         uri: "direct:findPetsByTags"
     - id: "getPetById"
-      uri: "/pet/{petId}"
+      path: "/pet/{petId}"
       description: "Returns a single pet"
       produces: "application/xml,application/json"
       param:
@@ -175,13 +175,13 @@
       to:
         uri: "direct:getPetById"
     - id: "getInventory"
-      uri: "/store/inventory"
+      path: "/store/inventory"
       description: "Returns a map of status codes to quantities"
       produces: "application/json"
       to:
         uri: "direct:getInventory"
     - id: "getOrderById"
-      uri: "/store/order/{orderId}"
+      path: "/store/order/{orderId}"
       description: "For valid response try integer IDs with value >= 1 and <= 
10.\
         \ Other values will generated exceptions"
       produces: "application/xml,application/json"
@@ -194,7 +194,7 @@
       to:
         uri: "direct:getOrderById"
     - id: "loginUser"
-      uri: "/user/login"
+      path: "/user/login"
       produces: "application/xml,application/json"
       param:
       - dataType: "string"
@@ -210,11 +210,11 @@
       to:
         uri: "direct:loginUser"
     - id: "logoutUser"
-      uri: "/user/logout"
+      path: "/user/logout"
       to:
         uri: "direct:logoutUser"
     - id: "getUserByName"
-      uri: "/user/{username}"
+      path: "/user/{username}"
       produces: "application/xml,application/json"
       param:
       - dataType: "string"
@@ -226,7 +226,7 @@
         uri: "direct:getUserByName"
     delete:
     - id: "deletePet"
-      uri: "/pet/{petId}"
+      path: "/pet/{petId}"
       param:
       - dataType: "string"
         name: "api_key"
@@ -240,7 +240,7 @@
       to:
         uri: "direct:deletePet"
     - id: "deleteOrder"
-      uri: "/store/order/{orderId}"
+      path: "/store/order/{orderId}"
       description: "For valid response try integer IDs with positive integer 
value.\
         \ Negative or non-integer values will generate API errors"
       param:
@@ -252,7 +252,7 @@
       to:
         uri: "direct:deleteOrder"
     - id: "deleteUser"
-      uri: "/user/{username}"
+      path: "/user/{username}"
       description: "This can only be done by the logged in user."
       param:
       - dataType: "string"
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreXml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreXml.txt
index ebb8da1..612c2cd 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreXml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreXml.txt
@@ -1,96 +1,96 @@
 <?xml version="1.0" encoding="UTF-8"?><rests 
xmlns="http://camel.apache.org/schema/spring";>
     <rest path="/api/v3">
-        <put consumes="application/json,application/xml" id="updatePet" 
uri="/pet">
+        <put consumes="application/json,application/xml" id="updatePet" 
path="/pet">
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <to uri="direct:updatePet"/>
         </put>
-        <post consumes="application/json,application/xml" id="addPet" 
uri="/pet">
+        <post consumes="application/json,application/xml" id="addPet" 
path="/pet">
             <param dataType="boolean" defaultValue="false" 
description="Verbose data" name="verbose" required="false" type="query"/>
             <param description="Pet object that needs to be added to the 
store" name="body" required="true" type="body"/>
             <to uri="direct:addPet"/>
         </post>
-        <get id="findPetsByStatus" produces="application/xml,application/json" 
uri="/pet/findByStatus">
+        <get id="findPetsByStatus" produces="application/xml,application/json" 
path="/pet/findByStatus">
             <description>Multiple status values can be provided with comma 
separated strings</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Status values that need to be considered for 
filter" name="status" required="true" type="query"/>
             <to uri="direct:findPetsByStatus"/>
         </get>
-        <get id="findPetsByTags" produces="application/xml,application/json" 
uri="/pet/findByTags">
+        <get id="findPetsByTags" produces="application/xml,application/json" 
path="/pet/findByTags">
             <description>Muliple tags can be provided with comma separated 
strings. Use tag1, tag2, tag3 for testing.</description>
             <param arrayType="string" collectionFormat="multi" 
dataType="array" description="Tags to filter by" name="tags" required="true" 
type="query"/>
             <to uri="direct:findPetsByTags"/>
         </get>
-        <get id="getPetById" produces="application/xml,application/json" 
uri="/pet/{petId}">
+        <get id="getPetById" produces="application/xml,application/json" 
path="/pet/{petId}">
             <description>Returns a single pet</description>
             <param dataType="integer" description="ID of pet to return" 
name="petId" required="true" type="path"/>
             <to uri="direct:getPetById"/>
         </get>
-        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" uri="/pet/{petId}">
+        <post consumes="application/x-www-form-urlencoded" 
id="updatePetWithForm" path="/pet/{petId}">
             <param dataType="integer" description="ID of pet that needs to be 
updated" name="petId" required="true" type="path"/>
             <param dataType="string" description="Updated name of the pet" 
name="name" required="true" type="formData"/>
             <param dataType="string" description="Updated status of the pet" 
name="status" required="true" type="formData"/>
             <to uri="direct:updatePetWithForm"/>
         </post>
-        <delete id="deletePet" uri="/pet/{petId}">
+        <delete id="deletePet" path="/pet/{petId}">
             <param dataType="string" name="api_key" required="false" 
type="header"/>
             <param dataType="integer" description="Pet id to delete" 
name="petId" required="true" type="path"/>
             <to uri="direct:deletePet"/>
         </delete>
-        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" uri="/pet/{petId}/uploadImage">
+        <post consumes="multipart/form-data" id="uploadFile" 
produces="application/json" path="/pet/{petId}/uploadImage">
             <param dataType="integer" description="ID of pet to update" 
name="petId" required="true" type="path"/>
             <param dataType="string" description="Additional data to pass to 
server" name="additionalMetadata" required="true" type="formData"/>
             <param dataType="string" description="file to upload" name="file" 
required="true" type="formData"/>
             <to uri="direct:uploadFile"/>
         </post>
-        <get id="getInventory" produces="application/json" 
uri="/store/inventory">
+        <get id="getInventory" produces="application/json" 
path="/store/inventory">
             <description>Returns a map of status codes to 
quantities</description>
             <to uri="direct:getInventory"/>
         </get>
-        <post consumes="*/*" id="placeOrder" 
produces="application/xml,application/json" uri="/store/order">
+        <post consumes="*/*" id="placeOrder" 
produces="application/xml,application/json" path="/store/order">
             <param description="order placed for purchasing the pet" 
name="body" required="true" type="body"/>
             <to uri="direct:placeOrder"/>
         </post>
-        <get id="getOrderById" produces="application/xml,application/json" 
uri="/store/order/{orderId}">
+        <get id="getOrderById" produces="application/xml,application/json" 
path="/store/order/{orderId}">
             <description>For valid response try integer IDs with value &gt;= 1 
and &lt;= 10. Other values will generated exceptions</description>
             <param dataType="integer" description="ID of pet that needs to be 
fetched" name="orderId" required="true" type="path"/>
             <to uri="direct:getOrderById"/>
         </get>
-        <delete id="deleteOrder" uri="/store/order/{orderId}">
+        <delete id="deleteOrder" path="/store/order/{orderId}">
             <description>For valid response try integer IDs with positive 
integer value. Negative or non-integer values will generate API 
errors</description>
             <param dataType="integer" description="ID of the order that needs 
to be deleted" name="orderId" required="true" type="path"/>
             <to uri="direct:deleteOrder"/>
         </delete>
-        <post consumes="*/*" id="createUser" uri="/user">
+        <post consumes="*/*" id="createUser" path="/user">
             <description>This can only be done by the logged in 
user.</description>
             <param description="Created user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUser"/>
         </post>
-        <post consumes="*/*" id="createUsersWithArrayInput" 
uri="/user/createWithArray">
+        <post consumes="*/*" id="createUsersWithArrayInput" 
path="/user/createWithArray">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithArrayInput"/>
         </post>
-        <post consumes="*/*" id="createUsersWithListInput" 
uri="/user/createWithList">
+        <post consumes="*/*" id="createUsersWithListInput" 
path="/user/createWithList">
             <param description="List of user object" name="body" 
required="true" type="body"/>
             <to uri="direct:createUsersWithListInput"/>
         </post>
-        <get id="loginUser" produces="application/xml,application/json" 
uri="/user/login">
+        <get id="loginUser" produces="application/xml,application/json" 
path="/user/login">
             <param dataType="string" description="The user name for login" 
name="username" required="true" type="query"/>
             <param dataType="string" description="The password for login in 
clear text" name="password" required="true" type="query"/>
             <to uri="direct:loginUser"/>
         </get>
-        <get id="logoutUser" uri="/user/logout">
+        <get id="logoutUser" path="/user/logout">
             <to uri="direct:logoutUser"/>
         </get>
-        <get id="getUserByName" produces="application/xml,application/json" 
uri="/user/{username}">
+        <get id="getUserByName" produces="application/xml,application/json" 
path="/user/{username}">
             <param dataType="string" description="The name that needs to be 
fetched. Use user1 for testing. " name="username" required="true" type="path"/>
             <to uri="direct:getUserByName"/>
         </get>
-        <put consumes="*/*" id="updateUser" uri="/user/{username}">
+        <put consumes="*/*" id="updateUser" path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="name that need to be 
updated" name="username" required="true" type="path"/>
             <param description="Updated user object" name="body" 
required="true" type="body"/>
             <to uri="direct:updateUser"/>
         </put>
-        <delete id="deleteUser" uri="/user/{username}">
+        <delete id="deleteUser" path="/user/{username}">
             <description>This can only be done by the logged in 
user.</description>
             <param dataType="string" description="The name that needs to be 
deleted" name="username" required="true" type="path"/>
             <to uri="direct:deleteUser"/>
diff --git 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreYaml.txt
 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreYaml.txt
index 699a999..04ab05c 100644
--- 
a/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreYaml.txt
+++ 
b/tooling/openapi-rest-dsl-generator/src/test/resources/OpenApiV3PetstoreYaml.txt
@@ -2,7 +2,7 @@
     path: "/api/v3"
     put:
     - id: "updatePet"
-      uri: "/pet"
+      path: "/pet"
       consumes: "application/json,application/xml"
       param:
       - description: "Pet object that needs to be added to the store"
@@ -12,7 +12,7 @@
       to:
         uri: "direct:updatePet"
     - id: "updateUser"
-      uri: "/user/{username}"
+      path: "/user/{username}"
       description: "This can only be done by the logged in user."
       consumes: "*/*"
       param:
@@ -29,7 +29,7 @@
         uri: "direct:updateUser"
     post:
     - id: "addPet"
-      uri: "/pet"
+      path: "/pet"
       consumes: "application/json,application/xml"
       param:
       - dataType: "boolean"
@@ -45,7 +45,7 @@
       to:
         uri: "direct:addPet"
     - id: "updatePetWithForm"
-      uri: "/pet/{petId}"
+      path: "/pet/{petId}"
       consumes: "application/x-www-form-urlencoded"
       param:
       - dataType: "integer"
@@ -66,7 +66,7 @@
       to:
         uri: "direct:updatePetWithForm"
     - id: "uploadFile"
-      uri: "/pet/{petId}/uploadImage"
+      path: "/pet/{petId}/uploadImage"
       consumes: "multipart/form-data"
       produces: "application/json"
       param:
@@ -88,7 +88,7 @@
       to:
         uri: "direct:uploadFile"
     - id: "placeOrder"
-      uri: "/store/order"
+      path: "/store/order"
       consumes: "*/*"
       produces: "application/xml,application/json"
       param:
@@ -99,7 +99,7 @@
       to:
         uri: "direct:placeOrder"
     - id: "createUser"
-      uri: "/user"
+      path: "/user"
       description: "This can only be done by the logged in user."
       consumes: "*/*"
       param:
@@ -110,7 +110,7 @@
       to:
         uri: "direct:createUser"
     - id: "createUsersWithArrayInput"
-      uri: "/user/createWithArray"
+      path: "/user/createWithArray"
       consumes: "*/*"
       param:
       - description: "List of user object"
@@ -120,7 +120,7 @@
       to:
         uri: "direct:createUsersWithArrayInput"
     - id: "createUsersWithListInput"
-      uri: "/user/createWithList"
+      path: "/user/createWithList"
       consumes: "*/*"
       param:
       - description: "List of user object"
@@ -131,7 +131,7 @@
         uri: "direct:createUsersWithListInput"
     get:
     - id: "findPetsByStatus"
-      uri: "/pet/findByStatus"
+      path: "/pet/findByStatus"
       description: "Multiple status values can be provided with comma 
separated strings"
       produces: "application/xml,application/json"
       param:
@@ -145,7 +145,7 @@
       to:
         uri: "direct:findPetsByStatus"
     - id: "findPetsByTags"
-      uri: "/pet/findByTags"
+      path: "/pet/findByTags"
       description: "Muliple tags can be provided with comma separated strings. 
Use\
         \ tag1, tag2, tag3 for testing."
       produces: "application/xml,application/json"
@@ -160,7 +160,7 @@
       to:
         uri: "direct:findPetsByTags"
     - id: "getPetById"
-      uri: "/pet/{petId}"
+      path: "/pet/{petId}"
       description: "Returns a single pet"
       produces: "application/xml,application/json"
       param:
@@ -172,13 +172,13 @@
       to:
         uri: "direct:getPetById"
     - id: "getInventory"
-      uri: "/store/inventory"
+      path: "/store/inventory"
       description: "Returns a map of status codes to quantities"
       produces: "application/json"
       to:
         uri: "direct:getInventory"
     - id: "getOrderById"
-      uri: "/store/order/{orderId}"
+      path: "/store/order/{orderId}"
       description: "For valid response try integer IDs with value >= 1 and <= 
10.\
         \ Other values will generated exceptions"
       produces: "application/xml,application/json"
@@ -191,7 +191,7 @@
       to:
         uri: "direct:getOrderById"
     - id: "loginUser"
-      uri: "/user/login"
+      path: "/user/login"
       produces: "application/xml,application/json"
       param:
       - dataType: "string"
@@ -207,11 +207,11 @@
       to:
         uri: "direct:loginUser"
     - id: "logoutUser"
-      uri: "/user/logout"
+      path: "/user/logout"
       to:
         uri: "direct:logoutUser"
     - id: "getUserByName"
-      uri: "/user/{username}"
+      path: "/user/{username}"
       produces: "application/xml,application/json"
       param:
       - dataType: "string"
@@ -223,7 +223,7 @@
         uri: "direct:getUserByName"
     delete:
     - id: "deletePet"
-      uri: "/pet/{petId}"
+      path: "/pet/{petId}"
       param:
       - dataType: "string"
         name: "api_key"
@@ -237,7 +237,7 @@
       to:
         uri: "direct:deletePet"
     - id: "deleteOrder"
-      uri: "/store/order/{orderId}"
+      path: "/store/order/{orderId}"
       description: "For valid response try integer IDs with positive integer 
value.\
         \ Negative or non-integer values will generate API errors"
       param:
@@ -249,7 +249,7 @@
       to:
         uri: "direct:deleteOrder"
     - id: "deleteUser"
-      uri: "/user/{username}"
+      path: "/user/{username}"
       description: "This can only be done by the logged in user."
       param:
       - dataType: "string"

Reply via email to