我的Flask应用程序具有所定义的URL路由:
self.add_url_rule('/api/1/accounts/<id_>', view_func=self.accounts, methods=['GET'])
问题是一个应用程序在查询此应用程序时向URL中添加了额外的/,例如/api/1//accounts/id。我无法控制使这种查询的应用程序,因此我无法更改它。
目前,为了解决这个问题,我已经添加了多个规则。
self.add_url_rule('/api/1/accounts/<id_>', view_func=self.accounts, methods=['GET'])
self.add_url_rule('/api/1//accounts/<id_>', view_func=self.accounts, methods=['GET'])
有许多这样的路由,这是一个丑陋的解决方案。在 Flask 中有没有一种方法可以在 URL 进入路由逻辑之前修改它?
.wsgi_app
属性包装在代码中是一种选择。许多WSGI服务器也允许您使用文本配置;使用最适合您部署的任何内容。 - Martijn Pieters