0
我們正在使用的瓶的RESTful定義形式的API,瓶的RESTful錯誤處理時,包羅萬象的存在
bp = Blueprint('api', __name__, url_prefix='/api')
api = Api(bp)
@api.resource('/users/<int:user>')
class User(Resource):
def get(self, user):
...
與Catch-All一起使用反應呈現所有頁面。
bp = Blueprint('index', __name__)
@bp.route('/', defaults={'path': ''})
@bp.route('/<path:path>')
def index(path):
return render_template('index.html')
問題是不匹配有效的API端點的請求都應該返回404,但考慮到包羅萬象的邏輯所有未登記API路線根本途徑渲染的模板。
有沒有一種確保無效API請求返回404的好方法?似乎沒有被排除在路由的方式包羅萬象的,所以我目前的解決方法是定義類似,
from werkzeug.routing import NotFound
@api.resource('/<path:path>')
class Endpoint(Resource):
def get(self, path):
raise NotFound()
def put(self, path):
raise NotFound()
def post(self, path):
...
這似乎有點冗長。