Swagger UI 3.x 设置 body 参数的自定义内容类型

问题描述 投票:0回答:1

如何使用 Swagger(开放 API)2.0 YAML 定义文件在 Swagger UI 3.x 中为正文参数设置

application/json
以外的内容类型?

我的YAML文件如下,将consumes元素设置为

application/json+fhir
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

但是,Swagger UI 仅显示

application/json
作为正文参数内容类型:

我正在使用当前最新的 Swagger UI 版本 - 3.11.0。

这是 Swagger UI 的问题,而不是 Swagger 编辑器的问题(尽管我知道两者共享大量组件),因此根本原因可能是相同的。

swagger swagger-ui swagger-2.0 hl7-fhir
1个回答
0
投票

这是 Swagger UI 3.11.0 版本中的一个错误,使用 Swagger/Open API 2.0:

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

© www.soinside.com 2019 - 2024. All rights reserved.