Python 未找到blueprint的Flask restful处理

Python 未找到blueprint的Flask restful处理,python,flask,flask-restful,Python,Flask,Flask Restful,烧瓶上的restful文档中说: Flask RESTful将对Flask RESTful路由上发生的任何400或500错误调用handle_error()函数,而不处理其他路由。您可能希望您的应用程序在404 Not Found errors(未找到错误)上返回具有正确媒体类型的错误消息;在这种情况下,使用Api构造函数的catch_all_404s参数 我对blueprint API的简化设置: from flask import Blueprint from flask_restful i

烧瓶上的restful文档中说:

Flask RESTful将对Flask RESTful路由上发生的任何400或500错误调用handle_error()函数,而不处理其他路由。您可能希望您的应用程序在404 Not Found errors(未找到错误)上返回具有正确媒体类型的错误消息;在这种情况下,使用Api构造函数的catch_all_404s参数

我对blueprint API的简化设置:

from flask import Blueprint
from flask_restful import Api
from .resources.tool import ToolDetail, Tools

api_bp = Blueprint('api', __name__, subdomain='<hostname>', url_prefix='/api')
api = Api(api_bp, catch_all_404s=True)

api.add_resource(Tools, '/tools', '/tools/<int:page>', '/tools/<int:page>/<int:per_page>')
api.add_resource(ToolDetail, '/tool/<int:id>')
也适用于其他蓝图上的请求!我希望
catch_all_404s=True
仅对定义的蓝图产生影响

永远不会调用从handle\u error()函数上方的代码段中删除
catch\u all\u 404s=True
。也不适用于具有
/api
路径的请求

所以我的问题是:如何让flask restful捕获蓝图内的所有404,而不是蓝图外的404(即不在其他蓝图中)

编辑:正如下面的评论所指出的,这种不局限于蓝图的全面行为是由烧瓶本身的限制引起的。
仍然存在的问题:使用
catch_all_404s=False
,404永远不会被flask restful捕获,即使是在路由中,例如被应用程序的错误处理程序捕获,而不是flask restful的错误处理程序捕获。

可能重复@danidee是的,它是相关的,但只有一半图片。它确实解释了为什么catch_all_404s=True适用于整个应用程序,而不仅仅是蓝图。谢谢你的指点!但如果将其设置为False,404将永远不会被flask restful捕获。我会更新这个问题。可能是@danidee的副本是的,它是相关的,但只有一半的图片。它确实解释了为什么catch_all_404s=True适用于整个应用程序,而不仅仅是蓝图。谢谢你的指点!但如果将其设置为False,404将永远不会被flask restful捕获。我会更新这个问题。
{
  "message": "The requested URL was not found on the server.  If you entered the URL manually please check your spelling and try again."
}