title: How to support media type versioning using Camel Rest DSL
body: <p>I'm looking for a solution to using the Camel Rest DSL when versioning my REST API using media type versioning.  See <a href="https://www.narwhl.com/2015/03/the-ultimate-solution-to-versioning-rest-apis-content-negotiation/" rel="nofollow noreferrer">https://www.narwhl.com/2015/03/the-ultimate-solution-to-versioning-rest-apis-content-negotiation/</a> for details on what I am trying to accomplish.</p>
  
  <p>For example, if I have two versions of a Store object (V1_0 and V2_0).</p>
  
  <pre><code>.post('/').description('Create a new store').type(Store_V1_0).outType(Store_V1_0)
      .consumes('application/x.canopy.store+json; version=1.0, application/x.canopy.store+json; version=2.0')
      .produces('application/x.canopy.store+json; version=1.0, application/x.canopy.store+json; version=2.0' )
      .param().name('body').type(body).description('The store to create').endParam()
      .route()
          .to('log:com.acme.api.store?level=INFO&amp;showHeaders=true')
      .endRest()
  </code></pre>
  
  <p>Notice that I have specified multiple media types in the "consumes"/"produces".  However, I'm limited to a single class in the "type"/"outType".</p>
  
  <p>If I attempt multiple "post('/')" lines, I receive a "Duplicate verb detected in rest-dsl" error.  Is there a way I can bind media types to POJO(s)?</p>
  
  <p>Any suggestions on how to handle versioning my REST API using media types is welcomed.</p>
  
  <p>EDIT: I am also trying to generate the spec for Swagger and would like to be able to see a different "Example Value" in Swagger UI based on the chosen content-type.</p>