0

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'…?そうでなければ、マシュマロスキーマに関する例は私には明確ではありません。

4

1 に答える 1