Schemas¶
EmptySchema
¶
Bases: Schema
An empty schema used to generate empty response/schema.
For 204 response, you can use this schema to generate an empty response body. For 200 response, you can use this schema to generate an empty response body schema.
Example:
@app.delete('/foo')
@app.output(EmptySchema, status_code=204)
def delete_foo():
return ''
It equals to use {}
:
@app.delete('/foo')
@app.output({}, status_code=204)
def delete_foo():
return ''
Source code in apiflask/schemas.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
FileSchema
¶
Bases: Schema
A schema for file response.
This is used to represent a file response in OpenAPI spec. If you want to
embed a file as base64 string in the JSON body, you can use the
apiflask.fields.File
field instead.
Example:
from apiflask.schemas import FileSchema
from flask import send_from_directory
@app.get('/images/<filename>')
@app.output(
FileSchema(type='string', format='binary'),
content_type='image/png',
description='An image file'
)
@app.doc(summary="Returns the image file")
def get_image(filename):
return send_from_directory(app.config['IMAGE_FOLDER'], filename)
The output OpenAPI spec will be:
paths:
/images/{filename}:
get:
summary: Returns the image file
responses:
'200':
description: An image file
content:
image/png:
schema:
type: string
format: binary
Version Added: 2.0.0
Source code in apiflask/schemas.py
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
|
__init__(*, type='string', format='binary')
¶
Parameters:
Name | Type | Description | Default |
---|---|---|---|
type |
str
|
The type of the file. Defaults to |
'string'
|
format |
str
|
The format of the file, one of |
'binary'
|
Source code in apiflask/schemas.py
138 139 140 141 142 143 144 145 |
|
PaginationSchema
¶
Bases: Schema
A schema for common pagination information.
Source code in apiflask/schemas.py
80 81 82 83 84 85 86 87 88 89 90 91 |
|
Schema
¶
Bases: Schema
A base schema for all schemas. Equivalent to marshmallow.Schema
.
Version Added: 1.2.0
Source code in apiflask/schemas.py
42 43 44 45 46 47 48 |
|
External documentation¶
Check out the API docs for Schema
class in the marshmallow docs: