Schema
モジュールで定義されたマシュマロクラスを持つフラスコプロジェクトがありschemas
ます。例えば:
project
- app.py
- routes.py
- schemas/
- schema1.py
- schema2.py
schema1.py
典型的なマシュマロはどこですかSchema
?
class FooSchema(Schema):
name = fields.Str()
フラッガーのドキュメントは、ルートのドキュメント文字列でスキーマを参照できることを示しています。ここに要約されたスニペットがあります
@app.route('/colors/<palette>/')
def colors(palette):
"""Example endpoint returning a list of colors by palette
This is using docstrings for specifications.
---
parameters:
- name: palette
in: path
type: string
definitions:
Palette:
type: object
properties:
palette_name:
type: array
items:
$ref: '#/definitions/Color' <--------
responses:
200:
description: A list of colors (may be filtered by palette)
schema:
$ref: '#/definitions/Palette'
examples:
rgb: ['red', 'green', 'blue']
"""
関心のある行は$ref: '#/definitions/Palette'
. definition
ただし、これはドキュメント文字列のセクションへの内部参照にすぎません。
schema/schema1.py
代わりにモジュールへの参照を置き換える方法はありますか? つまり、同じプロジェクト内のモジュールへのスキーマ参照をどのようにドロップできますか?
みたいな$ref: 'schema/schema1.py#FooSchema'
…?そうでなければ、マシュマロスキーマに関する例は私には明確ではありません。