title: Geoserver - OGC API Features - API Definition
body: <p>I use geoserver-2.16.x-2020-02-19-war in combination with the corresponding OGC API module.</p>
  
  <p>I use Shape files as data basis and everything works fine.</p>
  
  <p>Within the API Definition document i find the path definition:</p>
  
  <pre><code>/collections/{collectionId}:
  get:
    tags:
    - Capabilities
    summary: describe the feature collection with id `collectionId`
    operationId: describeCollection
    parameters:
    - $ref: '#/components/parameters/collectionId'
    - $ref: '#/components/parameters/otherParameters'
    responses:
      "200":
        content:
          application/x-yaml:
            schema:
              type: string
              format: binary
          application/json:
            schema:
              type: string
              format: binary
          application/cbor:
            schema:
              type: string
              format: binary
          text/html:
            schema:
              type: string
        $ref: '#/components/responses/Collection' 
  </code></pre>
  
  <p>The $ref reference ('#/components/responses/Collection') contains the following information:</p>
  
  <pre><code>content:
      application/json:
        schema:
          $ref: '#/components/schemas/collection'
        example:
          id: buildings
          title: Buildings
          description: Buildings in the city of Bonn.
          extent:
            spatial:
              bbox:
              - - 7.01
                - 50.63
                - 7.22
                - 50.78
            temporal:
              interval:
              - - 2010-02-15T12:34:56Z
                - null
          links:
          - href: http://data.example.org/collections/buildings/items
            rel: items
            type: application/geo+json
            title: Buildings
          - href: http://data.example.org/collections/buildings/items.html
            rel: items
            type: text/html
            title: Buildings
          - href: https://creativecommons.org/publicdomain/zero/1.0/
            rel: license
            type: text/html
            title: CC0-1.0
          - href: https://creativecommons.org/publicdomain/zero/1.0/rdf
            rel: license
            type: application/rdf+xml
            title: CC0-1.0
      text/html:
        schema:
          type: string
  </code></pre>
  
  <p>Now my <strong>first question:</strong> why are there different response media types specified in '#/components/responses/Collection/content' and '#/paths/collections/{collectionId}/get/responses/200/content' and what is their relation?</p>
  
  <p><strong>My second question:</strong> </p>
  
  <p>I'm able to request any corresponding /collections/{collectionId} document with the URLs:</p>
  
  <pre><code>.../collections/{collectionId}?f=text/html
  .../collections/{collectionId}?f=application/json
  .../collections/{collectionId}?f=application/cbor
  .../collections/{collectionId}?f=application/x-yaml
  </code></pre>
  
  <p>Why is that possible altough no corresponding parameter 'f' is defined under /collections/{collectionId}/get/parameters?</p>
  
  <p>Note: I read the Swagger OpenAPI Specification. But i was not able to find any answers to these questions.</p>
  
  <p>Thank you very much for your help.</p>