title: Why `additionalProperties` is the way to represent Dictionary/Map in Swagger/OpenAPI 2.0
body: <p>Although I have seen the examples in the <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject" rel="noreferrer">OpenAPI spec</a>:</p>
  <blockquote>
  <pre><code>type: object
  additionalProperties:
    $ref: '#/definitions/ComplexModel'
  </code></pre>
  </blockquote>
  <p>it isn't obvious to me <em>why</em> the use of <code>additionalProperties</code> is the correct schema for a Map/Dictionary.</p>
  <p>It also doesn't help that the only concrete thing that the spec has to say about <code>additionalProperties</code> is:</p>
  <blockquote>
  <p>The following properties are taken from the JSON Schema definition but their definitions were adjusted to the Swagger Specification. Their definition is the same as the one from JSON Schema, only where the original definition references the JSON Schema definition, the Schema Object definition is used instead.</p>
  <ul>
  <li>items</li>
  <li>allOf</li>
  <li>properties</li>
  <li>additionalProperties</li>
  </ul>
  </blockquote>