title: Validating query parameters in RAML
body: <p>I need to create an API that has four possible HTTP query parameters. Either parameter one or parameter two is required.  The others are optional. From the official <a href="https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md" rel="nofollow noreferrer">RAML version 1.0 specification</a> on Github, I found an almost exact scenario in the <a href="https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md/#query-strings-and-query-parameters" rel="nofollow noreferrer">RAML queryString example</a>.</p>
  <p>I loaded it into Mulesoft Design Center to test it out.  The RAML produces no errors in Design Center, and everything looks okay.  According to the first example in the RAML, the following URL should produce a success (200 OK):</p>
  <pre><code>GET https://(mocking URL)/locations?start=2&amp;lat=12&amp;long=13
  </code></pre>
  <p>When I send it via Postman, it reaches the mocking service, but I get the following error:</p>
  <pre><code>{
      &quot;code&quot;: &quot;REQUEST_VALIDATION_ERROR&quot;,
      &quot;message&quot;: &quot;Error validating query string: expected type: JSONObject, found: Null&quot;
  } 
  </code></pre>
  <p>I'm not sure if this is a Design Center limitation or if there's something off in my URL.  Does anyone know what I'm doing wrong?</p>
  <p>Here's the RAML sample from the official spec:</p>
  <pre><code>#%RAML 1.0
  title: Illustrate query parameter variations
  types:
    lat-long: # lat &amp; long required; mutually exclusive with location
      properties:
       lat: number
        long: number
    loc: # location required; mutually exclusive with lat &amp; long
      properties:
        location:
    paging: # each is optional, not exclusive with anything
      properties:
        start?: number
        page-size?: number
  /locations:
    get:
      queryString:
        type: [paging,  lat-long | loc ]
        examples:
          first:
            value:
              start: 2
              lat: 12
              long: 13
          second:
            value:
              start: 2
              page-size: 20
              location: 1,2
          third:  # not valid
            value:
              lat: 12
              location: 2
            strict: false # because it's not valid
  </code></pre>