15

オブジェクトにラップしたフラスコAPIがあります。これを行うことで、単体テストが簡単になりました。これは、API が本番環境、テスト環境、またはその他の環境にあるかどうかに応じて、さまざまな設定で API をインスタンス化できるためです。

私は今、API を少し拡張しようとしており、そのために設計図を使用しています。問題は、ブループリントに引数を渡す方法がわからないことです。私のルートでは、どのデータベースにアクセスするかなどの情報が必要ですが、その情報は静的ではありません。この情報をブループリントに渡すにはどうすればよいですか? 例として以下のコードを含めました。

api.py:

class MyApi(object):
    def __init__(self, databaseURI):
     self.app = Flask(__name__)
     self.app.register_blueprint(myblueprint)

blueprint.py

myblueprint= Blueprint('myblueprint', __name__)
@myblueprint.route('/route', methods=['GET'])
def route():
  database = OpenDatabaseConnection(databaseURI)

ここに関連する質問があります: コンストラクター引数を Flask ブループリントに渡すにはどうすればよいですか?

しかし、質問に答える人々は、任意の引数をブループリントに渡す方法の質問に実際に答えることなく、op のユースケース固有の問題を解決します。

4

4 に答える 4