当前位置
主页 > 成功案例 >
OpenAPI规范(4)—媒体类型
2022-12-29 00:55
本文摘要:媒体类型是请求体或响应体的数据花样。Web服务的操作可以接受和返回差别花样的数据,最常见的是JSON、XML和图像。 你可以在请求和响应的界说中指定媒体类型。

ror体育官网

媒体类型是请求体或响应体的数据花样。Web服务的操作可以接受和返回差别花样的数据,最常见的是JSON、XML和图像。

你可以在请求和响应的界说中指定媒体类型。以下是响应界说的示例: paths: /employees: get: summary: Returns a list of employees. responses: '200': # Response description: OK content: # Response body application/json: # Media type schema: # Must-have type: object # Data type properties: yi id: type: integer name: type: string fullTime: type: boolean example: # Sample data id: 1 name: Jessica Right fullTime: true在responses下面,我们对各个响应举行界说。正如你所见,每个响应都是其编码界说的(在我们的示例中,响应编码是'200')。响应编码下面的content关键字对应于响应体。

ror体育

一种或多种媒体类型作为这个content关键字的子关键字。每种媒体类型都包罗一个schema关键字,用来界说消息体的数据类型,以及可选的一个或多个示例。

ror体育

有关界说主体数据的更多信息,请参考界说请求体和界说响应。媒体类型名称content字段下面列出的媒体类型应该切合RFC 6838。例如,你可以使用尺度类型或供应商的特定类型(用.vnd表现)。application/jsonapplication/xmlapplication/x-www-form-urlencodedmultipart/form-datatext/plain; charset=utf-8text/htmlapplication/pdfimage/pngapplication/vnd.mycompany.myapp.v2+jsonapplication/vnd.ms-excelapplication/vnd.openstreetmap.data+xmlapplication/vnd.github-issue.text+jsonapplication/vnd.github.v3.diffimage/vnd.djvu多重媒体类型你可能想要指定多重媒体类型:paths: /employees: get: summary: Returns a list of employees. responses: '200': # Response description: OK content: # Response body application/json: # One of media types schema: type: object properties: id: type: integer name: type: string fullTime: type: boolean application/xml: # Another media types schema: type: object properties: id: type: integer name: type: string fullTime: type: boolean若要让多种媒体类型使用相同的数据花样,请在规范的component分段中界说一个自界说工具,然后在每种媒体类型中引用这个工具:paths: /employees: get: responses: '200': # Response description: OK content: # Response body application/json: # Media type schema: $ref: '#/components/schemas/Employee' # Reference to object definition application/xml: # Media type schema: $ref: '#/components/schemas/Employee' # Reference to object definitioncomponents: schemas: Employee: # Object definition type: object properties: id: type: integer name: type: string fullTime: type: boolean若要为多种媒体类型界说相同的花样,你还可以使用占位符,例如:*/*、application/*、image/*或其他:paths: /info/logo: get: responses: '200': # Response description: OK content: # Response body image/*: # Media type schema: type: string format: binary你用作媒体类型的取值 — 在我们的示例中是image/* — 很是类似于你可以在HTTP请求和响应的Accept或Content-Type头部中看到的工具。

不要混淆占位符和Accept或Content-Type头部的实际值。例如,响应体的image/*占位符意味着服务器将会对匹配于占位符的所有响应使用相同的数据结构。

这并不意味着要在Content-Type头部中指定image/*字符串。Content-Type头部的取值最有可能是image/png、image/jpeg或一些其他的类似值。


本文关键词:OpenAPI,规范,—,媒体,类型,媒体,类型,是,ror体育,请求

本文来源:ror体育-www.hdbyqc.com

联系方式

电话:044-635689978

传真:040-60488990

邮箱:admin@hdbyqc.com

地址:重庆市重庆市重庆区最央大楼298号