gpt4 book ai didi

python - Flask-Restful 忽略蓝图的 url_prefix

转载 作者:行者123 更新时间:2023-12-02 00:03:13 24 4
gpt4 key购买 nike

我想使用 Flask 蓝图将 Flask-Restful 资源组织到单独的 URL 前缀中。无论我设置什么 url 前缀(在蓝图创建或注册期间),所有内容都会映射到原始路由路径。如何正确使用 Restful 和蓝图?

app = Flask(__name__)
api = Api(app)

api.add_resource(Building, '/<int:id>', endpoint='building')
api.add_resource(Jack, '/<int:id>', endpoint='jack')

building_api = Blueprint('building_api', __name__)
jack_api = Blueprint('jack_api', __name__)

app.register_blueprint(building_api, url_prefix='/buildings')
app.register_blueprint(jack_api, url_prefix='/jacks')

全部documentation我发现这些现在应该可以在 /buildings/<int:id> 上找到。和/jacks/<int:id> ,但这两个 url 都是 404,而我可以访问 /<int:id> 的大楼。 。对 add_resource 中的路径进行硬编码修复了它,但违背了 url_prefix 的要点.

最佳答案

您需要pass the blueprintApi 实例,而不是应用程序。

building_bp = Blueprint('buildings', __name__)
building_api = Api(building_bp)
building_api.add_resource(Building, '/<int:id>')
app.register_blueprint(building_bp, url_prefix='/buildings')

关于python - Flask-Restful 忽略蓝图的 url_prefix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32488098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com