0
votes

How do I set a content type other than application/json for a body parameter in Swagger UI 3.x using a Swagger (Open API) 2.0 YAML definition file?

My YAML file is as follows, with the consumes element set to application/json+fhir and application/xml+fhir:

swagger: '2.0'
info:
  title: Test
  version: '1.0'
host: 'server.com'
basePath: /fhir
schemes:
  - http
paths:
  /Patient/$getrecordsection:
    post:
      tags:
        - Get record section
      summary: Retrieve a care record section
      consumes:
        - application/json+fhir
        - application/xml+fhir
      produces:
        - application/json+fhir
        - application/xml+fhir
      parameters:
        - in: body
          name: body
          description: ''
          required: true
          schema:
            $ref: '#/definitions/GetRecordSection'
      responses:
        '200':
          description: OK
        '400':
          description: Bad request
definitions:
  GetRecordSection:
    type: object
    properties:
      resourceType:
        type: string
        default: "Parameters"
      parameter:
        type: string
    example:
      resourceType: "Parameters"
      parameter: 
        - name: "patientIdentifier"
          valueIdentifier: 
            system: "http://fhir.provider.net/Id/patient-identifier"
            value: "9999999999"
        - name: "recordSection"
          valueCodeableConcept: 
            coding:
              - system: "http://fhir.provider.net/ValueSet/record-section"
                code: "ALL"
    xml:
      name: Parameters

However, the Swagger UI only shows application/json as the body parameter content type:

Swagger UI screenshot

I'm using the current latest Swagger UI build - 3.11.0.

This is a problem with Swagger UI, rather than the Swagger Editor (though I know the two share a significant number of components), and so the root cause could be the same.

1
It's a bug introduced in the latest release of the Swagger Editor. See the linked Q&A. ^^ - Helen
This is an issue with Swagger UI rather than the Swagger Editor, though I know the two share a significant number of components, and so the root cause could be the same. - Jonny Rylands

1 Answers

0
votes

This is a bug in the 3.11.0 version of Swagger UI, using Swagger/Open API 2.0:

https://github.com/swagger-api/swagger-ui/issues/4257