Encoding Object
A single encoding definition applied to a single schema property.
Excerpt from the OpenAPI 3.1 specification about the Encoding Object
Fixed Fields
Field Name | Type | Description |
---|---|---|
contentType | string | The Content-Type for encoding a specific property. Default value depends on the property type: for object - application/json ; for array – the default is defined based on the inner type; for all other cases the default is application/octet-stream . The value can be a specific media type (e.g. application/json ), a wildcard media type (e.g. image/* ), or a comma-separated list of the two types. |
headers | Map[string , Header Object | Reference Object] | A map allowing additional information to be provided as headers, for example Content-Disposition . Content-Type is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a multipart . |
style | string | Describes how a specific property value will be serialized depending on its type. See Parameter Object for details on the style property. The behavior follows the same values as query parameters, including default values. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded or multipart/form-data . If a value is explicitly defined, then the value of contentType (implicit or explicit) SHALL be ignored. |
explode | boolean | When this is true, property values of type array or object generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When style is form , the default value is true . For all other styles, the default value is false . This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded or multipart/form-data . If a value is explicitly defined, then the value of contentType (implicit or explicit) SHALL be ignored. |
allowReserved | boolean | Determines whether the parameter value SHOULD allow reserved characters, as defined by RFC3986 :/?#[]@!$&'()*+,;= to be included without percent-encoding. The default value is false . This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded or multipart/form-data . If a value is explicitly defined, then the value of contentType (implicit or explicit) SHALL be ignored. |
This object MAY be extended with Specification Extensions.
Encoding Object Example
requestBody: content: multipart/form-data: schema: type: object properties: id: # default is text/plain type: string format: uuid address: # default is application/json type: object properties: {} historyMetadata: # need to declare XML format! description: metadata in XML format type: object properties: {} profileImage: {} encoding: historyMetadata: # require XML Content-Type in utf-8 encoding contentType: application/xml; charset=utf-8 profileImage: # only accept png/jpeg contentType: image/png, image/jpeg headers: X-Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer
Visuals
The encoding information is not presented visually.
Types
- Encoding
const Encoding: NodeType = { properties: { contentType: { type: 'string' }, headers: mapOf('Header'), style: { enum: ['form', 'simple', 'label', 'matrix', 'spaceDelimited', 'pipeDelimited', 'deepObject'], }, explode: { type: 'boolean' }, allowReserved: { type: 'boolean' }, }, };