title: How to supply inner type for the array parameter in Swagger?
body: <p>I have the following YAML for Swagger:</p>
  
  <pre><code>swagger: '2.0'
  info:
    ...
  host: adam.noncd.db.de
  basePath: /api/v1.0
  schemes:
    - https
  consumes:
    - application/json
  produces:
    - application/json
  paths:
  
    /facilities:
      get:
        description: Access to the facilities known to the system
        operationId: findFacilities
        produces:
          - application/json
        parameters:
          - name: type
            in: query
            description: type of the facility to filter by
            default: ["ESCALATOR", "ELEVATOR"]
            required: false
            type: array
            items:
              enum: ["ESCALATOR", "ELEVATOR"]
            collectionFormat: csv
            uniqueItems: true
          - name: state
            in: query
            description: the state of the facility to filter by
            default: ["ACTIVE", "INACTIVE", "UNKNOWN"]
            required: false
            type: array
            items:
              enum: ["ACTIVE", "INACTIVE", "UNKNOWN"]
            collectionFormat: csv
            uniqueItems: true
  
        responses:
          '200':
            description: facility data
            schema:
              type: array
              items:
                $ref: '#/definitions/facility'
          '400':
            description: The given filters contained invalid values.
          '406':
            description: The requested representation format is not available.
          '500':
            description: A processing error has occurred.
          '503':
            description: The service has been disabled temporarily.
  
  
    '/facilities/{equipmentnumber}':
      get:
        description: Returns the facility identify by equipmentnumber
        operationId: getFacilityByEquipmentNumber
        produces:
          - application/json
        parameters:
          - name: equipmentnumber
            in: path
            description: equipmentnumber of the facility to fetch
            required: true
            type: integer
            format: int64
            minimum: 1
        responses:
          '200':
            description: Facility data
            schema:
              $ref: '#/definitions/facility'
          '404':
            description: The requested facility could not be found.
          '406':
            description: The requested representation format is not available.
          '500':
            description: A processing error has occurred.
          '503':
            description: The service has been disabled temporarily.
  
    '/stations/{stationnumber}':
      get:
        description: Returns the railway station identified by stationnumber
        operationId: findStationByStationNumber
        produces:
          - application/json
        parameters:
          - name: stationnumber
            in: path
            description: stationnumber of the station to fetch
            required: true
            type: integer
            format: int64
            minimum: 1
        responses:
          '200':
            description: station data
            schema:
              $ref: '#/definitions/station'
          '406':
            description: Requested representation format is not available.
          '500':
            description: A processing error has occurred.
          '503':
            description: The service has been disabled temporarily.            
  
  definitions:
  
    station:
       type: object
       required:
         - stationnumber
         - name
       properties:
        stationnumber:
          type: integer
          format: int64
          description: "Identification number of the station"
        name:
          type: string
          description: "Name of the station"
        facilities:
          type: array
          items:
            $ref: '#/definitions/facility'
  
    facility:
      type: object
      required:
        - equipmentnumber
        - type
        - state
        - stationnumber
      properties:
        equipmentnumber:
          type: integer
          format: int64
        'type':
          type: string
          enum: ["ESCALATOR", "ELEVATOR"]
        'description':
          type: string
          description: Textual description of place
        geocoordX:
          type: number
          format: double
          description: geocoordinate component in DB REF format
        geocoordY:
          type: number
          format: double
          description: geocoordinate component in DB REF format
        state:
          type: string
          enum: ["ACTIVE", "INACTIVE", "UNKNOWN"]
        stationnumber:
          type: integer
          format: int64
  </code></pre>
  
  <p>When generating a Java client with Swagger Codegen I'm getting the following warnings:</p>
  
  <pre><code>[WARNING] no property from null, null, {ENUM=[ESCALATOR, ELEVATOR], TITLE=null, DESCRIPTION=null, DEFAULT=null, PATTERN=null, DESCRIMINATOR=null, MIN_ITEMS=null, MAX_ITEMS=null, MIN_PROPERTIES=null, MAX_PROPERTIES=null, MIN_LENGTH=null, MAX_LENGTH=null, MINIMUM=null, MAXIMUM=null, EXCLUSIVE_MINIMUM=null, EXCLUSIVE_MAXIMUM=null, UNIQUE_ITEMS=null, EXAMPLE=null, TYPE=null, FORMAT=null, READ_ONLY=null, VENDOR_EXTENSIONS={}}
  [WARNING] no property from null, null, {ENUM=[ACTIVE, INACTIVE, UNKNOWN], TITLE=null, DESCRIPTION=null, DEFAULT=null, PATTERN=null, DESCRIMINATOR=null, MIN_ITEMS=null, MAX_ITEMS=null, MIN_PROPERTIES=null, MAX_PROPERTIES=null, MIN_LENGTH=null, MAX_LENGTH=null, MINIMUM=null, MAXIMUM=null, EXCLUSIVE_MINIMUM=null, EXCLUSIVE_MAXIMUM=null, UNIQUE_ITEMS=null, EXAMPLE=null, TYPE=null, FORMAT=null, READ_ONLY=null, VENDOR_EXTENSIONS={}}
  ...
  [WARNING] warning!  No inner type supplied for array parameter "type", using String
  [WARNING] warning!  No inner type supplied for array parameter "state", using String
  </code></pre>
  
  <p>As you can see, Swagger uses strings for <code>type</code> and <code>state</code>. In the generated API I'm getting the following method signature:</p>
  
  <pre><code>public List&lt;Facility&gt; findFacilities (List&lt;String&gt; type, List&lt;String&gt; state) 
  throws ApiException;
  </code></pre>
  
  <p>So Swagger is using strings instead of the generated enums <code>Facility.TypeEnum</code> and <code>Facility.StateEnum</code>. Apparently this has something to do with the warnings. So if I'd manage to "supply inner type for the array parameter" I think I'll also get enums in the signature. But I could not find a configure it in YAML.</p>
  
  <p><strong>How can I fix my YAML definition to make Swagger use enums instead of strings?<br>
  How do I supply inner type for the array parameter?</strong></p>