如何使用 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 UI 3.11.0 版本中的一个错误,使用 Swagger/Open API 2.0: