我正在Flask中开发一个API,其中一个要求是保持多个版本,这样最终用户就能够在不同版本之间切换。我已经开始根据this thread的建议(或答案)来维护多个版本代码库,但我的问题是,是否有任何方法可以根据用户传入的参数来路由用户访问不同的API版本,而不会实际更改其端部的url。在
例如:
http://testapp.com/api?v=1.0
将路由到
^{pr2}$以及
http://testapp.com/api?v=2.0
将路由到
http://testapp.com/2.0/api
我知道在注册的blueprint中使用redirect(url_for('###'))
可能可以解决这个问题,但在我的情况下并不理想(我希望保持相同的url,而不重定向,而是将来自不同版本api的响应相应地呈现到当前请求中)
如果我的文字不清楚,请提前道歉。在
您可以在flask应用程序中通过在每个请求之前检查请求url来实现这一点。在
您可以使用flask before-request-decorator在每个请求之前运行一个代码。在
下面的代码将按您的意愿重定向URL
您仍然可以使用视图函数,而不是重定向到另一个路由,只需调用视图函数。在
例如:
相关问题 更多 >
编程相关推荐